openstudio-load-flexibility-measures 0.7.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/Gemfile +1 -20
- data/Jenkinsfile +2 -3
- data/README.md +2 -0
- data/lib/measures/add_central_ice_storage/measure.rb +6 -6
- data/lib/measures/add_central_ice_storage/measure.xml +29 -29
- data/lib/measures/add_central_ice_storage/tests/add_central_ice_storage_test.rb +0 -2
- data/lib/measures/add_hpwh/measure.xml +22 -22
- data/lib/measures/add_hpwh/tests/add_hpwh_test.rb +0 -2
- data/lib/measures/add_packaged_ice_storage/measure.rb +14 -14
- data/lib/measures/add_packaged_ice_storage/measure.xml +32 -32
- data/lib/measures/add_packaged_ice_storage/tests/add_packaged_ice_storage_test.rb +34 -35
- data/lib/openstudio/load_flexibility_measures/version.rb +1 -1
- data/openstudio-load-flexibility-measures.gemspec +14 -8
- metadata +116 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c0879ffce6e9b9b8af2b5a71eab587558682bf7651a80e1056f875367ad4ecc
|
4
|
+
data.tar.gz: 6b06abc933705ace9b88f21986c71b56b2008a07dc32037300169beb73cacdea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef54321ecfa4e04581fb0405da39bec57b25bd5d954ed55d7e21fb1d178c3e2225a2776f462c63a05aab6437df3b46cb339851757adcb9d761a114be16ea9b31
|
7
|
+
data.tar.gz: f35192aa75650fe75f07fec325ca784dfa25d1bdce87be385a77135db633dc87405cff3541ef118adfd67202ac5852c547170d3973e2a8d9155b1cace73eeaf3
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# OpenStudio Load Flexibility Measures Gem
|
2
2
|
|
3
|
+
## Version 0.9.0
|
4
|
+
- Updating dependencies and licenses for OpenStudio 3.8 (upgrade to standards gem 0.6.0)
|
5
|
+
|
6
|
+
## Version 0.8.0
|
7
|
+
- Updating dependencies and licenses for OpenStudio 3.7 (upgrade to standards gem 0.5.0, extension gem 0.7.0)
|
8
|
+
- Fix field indexes for CoilCoolingDXTwoSpeed in add_packaged_ice_storage
|
9
|
+
|
3
10
|
## Version 0.7.0
|
4
11
|
- Updating dependencies and licenses for OpenStudio 3.6 (upgrade to standards gem 0.4.0, extension gem 0.6.1)
|
5
12
|
|
data/Gemfile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
source 'http://rubygems.org'
|
2
2
|
|
3
|
+
# Specify your gem's dependencies in openstudio-model-articulation.gemspec
|
3
4
|
gemspec
|
4
5
|
|
5
6
|
# Local gems are useful when developing and integrating the various dependencies.
|
@@ -10,29 +11,9 @@ gemspec
|
|
10
11
|
# checkout the latest version (develop) from github.
|
11
12
|
allow_local = ENV['FAVOR_LOCAL_GEMS']
|
12
13
|
|
13
|
-
|
14
|
-
# Delete when these branchesa are merged and released
|
15
|
-
#gem 'openstudio-extension', github: 'NREL/OpenStudio-extension-gem', branch: 'v0.6.0-rc1'
|
16
|
-
#gem 'openstudio-standards', '= 0.2.17.rc1', :github => 'NREL/openstudio-standards', :ref => '3.5.0_changes'
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
# uncomment when you want CI to use develop branch of extension gem
|
21
|
-
# gem 'openstudio-extension', github: 'NREL/OpenStudio-extension-gem', branch: 'develop'
|
22
|
-
|
23
|
-
# uncomment when you want CI to use develop branch of openstudio-standards gem
|
24
|
-
# gem 'openstudio-standards', github: 'NREL/OpenStudio-standards', branch: 'master'
|
25
|
-
|
26
14
|
# Only uncomment if you need to test a different version of the extension gem
|
27
15
|
# if allow_local && File.exist?('../OpenStudio-extension-gem')
|
28
16
|
# gem 'openstudio-extension', path: '../OpenStudio-extension-gem'
|
29
17
|
# elsif allow_local
|
30
18
|
# gem 'openstudio-extension', github: 'NREL/OpenStudio-extension-gem', branch: 'develop'
|
31
19
|
# end
|
32
|
-
|
33
|
-
# Only uncomment if you need to test a different version of OpenStudio-standards
|
34
|
-
# if allow_local && File.exist?('../openstudio-standards')
|
35
|
-
# gem 'openstudio-standards', path: '../openstudio-standards'
|
36
|
-
# elsif allow_local
|
37
|
-
# gem 'openstudio-standards', github: 'NREL/OpenStudio-standards', branch: 'develop'
|
38
|
-
# end
|
data/Jenkinsfile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
//Jenkins pipelines are stored in shared
|
1
|
+
//Jenkins pipelines are stored in shared libaries. Please see: https://github.com/NREL/cbci_jenkins_libs
|
2
2
|
|
3
|
-
@Library('cbci_shared_libs') _
|
3
|
+
@Library('cbci_shared_libs@developExtension') _
|
4
4
|
|
5
5
|
// Build for PR to develop branch only.
|
6
6
|
if ((env.CHANGE_ID) && (env.CHANGE_TARGET) ) { // check if set
|
@@ -8,4 +8,3 @@ if ((env.CHANGE_ID) && (env.CHANGE_TARGET) ) { // check if set
|
|
8
8
|
openstudio_extension_gems()
|
9
9
|
|
10
10
|
}
|
11
|
-
|
data/README.md
CHANGED
@@ -31,6 +31,8 @@ Detailed instructions for usage are included in each measure's respective README
|
|
31
31
|
|
32
32
|
|OpenStudio Load Flexibility Measures Gem|OpenStudio|Ruby|
|
33
33
|
|:--------------:|:----------:|:--------:|
|
34
|
+
| 0.9.0| 3.8 | 3.2.2 |
|
35
|
+
| 0.8.0| 3.7 | 2.7 |
|
34
36
|
| 0.7.0| 3.6 | 2.7 |
|
35
37
|
| 0.6 - 0.6.1 | 3.5 | 2.7 |
|
36
38
|
| 0.5 | 3.4 | 2.7 |
|
@@ -15,8 +15,8 @@
|
|
15
15
|
# => ASHRAE Design Guide for Cool Thermal Storage, 2nd Edition, January 2019
|
16
16
|
# => Manufacturer marketing materials, available online
|
17
17
|
|
18
|
-
# load
|
19
|
-
require
|
18
|
+
# load openstudio-standards gem
|
19
|
+
require 'openstudio-standards'
|
20
20
|
|
21
21
|
# start the measure
|
22
22
|
class AddCentralIceStorage < OpenStudio::Measure::ModelMeasure
|
@@ -698,7 +698,7 @@ class AddCentralIceStorage < OpenStudio::Measure::ModelMeasure
|
|
698
698
|
'summer_design_day' => summer_design_day,
|
699
699
|
'default_day' => default_day,
|
700
700
|
'rules' => rules }
|
701
|
-
ctes_av_new =
|
701
|
+
ctes_av_new = OpenstudioStandards::Schedules.create_complex_schedule(model, options_ctes)
|
702
702
|
ctes_av_new.setScheduleTypeLimits(sched_limits_onoff)
|
703
703
|
|
704
704
|
# Create ctes setpoint temperature schedule
|
@@ -714,7 +714,7 @@ class AddCentralIceStorage < OpenStudio::Measure::ModelMeasure
|
|
714
714
|
'summer_design_day' => summer_design_day,
|
715
715
|
'default_day' => default_day,
|
716
716
|
'rules' => rules }
|
717
|
-
ctes_sch_new =
|
717
|
+
ctes_sch_new = OpenstudioStandards::Schedules.create_complex_schedule(model, options_ctes_ctes)
|
718
718
|
ctes_sch_new.setScheduleTypeLimits(sched_limits_temp)
|
719
719
|
|
720
720
|
# Create chiller setpoint temperature schedule
|
@@ -730,7 +730,7 @@ class AddCentralIceStorage < OpenStudio::Measure::ModelMeasure
|
|
730
730
|
'summer_design_day' => summer_design_day,
|
731
731
|
'default_day' => default_day,
|
732
732
|
'rules' => rules }
|
733
|
-
chill_sch_new =
|
733
|
+
chill_sch_new = OpenstudioStandards::Schedules.create_complex_schedule(model, options_ctes_chiller)
|
734
734
|
chill_sch_new.setScheduleTypeLimits(sched_limits_temp)
|
735
735
|
|
736
736
|
# Create loop setpoint temperature schedule - if new = true
|
@@ -740,7 +740,7 @@ class AddCentralIceStorage < OpenStudio::Measure::ModelMeasure
|
|
740
740
|
'winterTimeValuePairs' => [[24, loop_sp]],
|
741
741
|
'summerTimeValuePairs' => [[24, loop_sp]],
|
742
742
|
'defaultTimeValuePairs' => [[24, loop_sp]] }
|
743
|
-
loop_sch_new =
|
743
|
+
loop_sch_new = OpenstudioStandards::Schedules.create_simple_schedule(model, options_ctes_loop)
|
744
744
|
loop_sch_new.setScheduleTypeLimits(sched_limits_temp)
|
745
745
|
end
|
746
746
|
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
4
|
<name>add_central_ice_storage</name>
|
5
5
|
<uid>48f37812-0cb6-4770-b695-beb8d8a5660d</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>f094a339-b1ff-4de7-8122-8e6c1e7b26b5</version_id>
|
7
|
+
<version_modified>2024-06-10T22:33:01Z</version_modified>
|
8
8
|
<xml_checksum>6394841D</xml_checksum>
|
9
9
|
<class_name>AddCentralIceStorage</class_name>
|
10
10
|
<display_name>Add Central Ice Storage</display_name>
|
@@ -446,18 +446,24 @@
|
|
446
446
|
</attribute>
|
447
447
|
</attributes>
|
448
448
|
<files>
|
449
|
+
<file>
|
450
|
+
<filename>LICENSE.md</filename>
|
451
|
+
<filetype>md</filetype>
|
452
|
+
<usage_type>license</usage_type>
|
453
|
+
<checksum>BFFB1AA6</checksum>
|
454
|
+
</file>
|
455
|
+
<file>
|
456
|
+
<filename>README.md</filename>
|
457
|
+
<filetype>md</filetype>
|
458
|
+
<usage_type>readme</usage_type>
|
459
|
+
<checksum>962B1D2E</checksum>
|
460
|
+
</file>
|
449
461
|
<file>
|
450
462
|
<filename>README.md.erb</filename>
|
451
463
|
<filetype>erb</filetype>
|
452
464
|
<usage_type>readmeerb</usage_type>
|
453
465
|
<checksum>703C9964</checksum>
|
454
466
|
</file>
|
455
|
-
<file>
|
456
|
-
<filename>ice_test_model.osm</filename>
|
457
|
-
<filetype>osm</filetype>
|
458
|
-
<usage_type>test</usage_type>
|
459
|
-
<checksum>A3FC1180</checksum>
|
460
|
-
</file>
|
461
467
|
<file>
|
462
468
|
<filename>Ice Measure Implementation Guide.pdf</filename>
|
463
469
|
<filetype>pdf</filetype>
|
@@ -465,16 +471,15 @@
|
|
465
471
|
<checksum>090841B0</checksum>
|
466
472
|
</file>
|
467
473
|
<file>
|
468
|
-
<
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
<
|
475
|
-
<
|
476
|
-
<
|
477
|
-
<checksum>BFFB1AA6</checksum>
|
474
|
+
<version>
|
475
|
+
<software_program>OpenStudio</software_program>
|
476
|
+
<identifier>3.0.0</identifier>
|
477
|
+
<min_compatible>3.8.0</min_compatible>
|
478
|
+
</version>
|
479
|
+
<filename>measure.rb</filename>
|
480
|
+
<filetype>rb</filetype>
|
481
|
+
<usage_type>script</usage_type>
|
482
|
+
<checksum>0521FD2A</checksum>
|
478
483
|
</file>
|
479
484
|
<file>
|
480
485
|
<filename>OsLib_Schedules.rb</filename>
|
@@ -486,18 +491,13 @@
|
|
486
491
|
<filename>add_central_ice_storage_test.rb</filename>
|
487
492
|
<filetype>rb</filetype>
|
488
493
|
<usage_type>test</usage_type>
|
489
|
-
<checksum>
|
494
|
+
<checksum>408B3296</checksum>
|
490
495
|
</file>
|
491
496
|
<file>
|
492
|
-
<
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
</version>
|
497
|
-
<filename>measure.rb</filename>
|
498
|
-
<filetype>rb</filetype>
|
499
|
-
<usage_type>script</usage_type>
|
500
|
-
<checksum>C8E8B60E</checksum>
|
497
|
+
<filename>ice_test_model.osm</filename>
|
498
|
+
<filetype>osm</filetype>
|
499
|
+
<usage_type>test</usage_type>
|
500
|
+
<checksum>A3FC1180</checksum>
|
501
501
|
</file>
|
502
502
|
</files>
|
503
503
|
</measure>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
4
|
<name>add_hpwh</name>
|
5
5
|
<uid>518cde6f-1806-4b9a-bee9-ccaac49c7a53</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>9e1d4f20-4538-4681-bc41-951d02a81121</version_id>
|
7
|
+
<version_modified>2024-06-10T22:33:01Z</version_modified>
|
8
8
|
<xml_checksum>A374667A</xml_checksum>
|
9
9
|
<class_name>AddHpwh</class_name>
|
10
10
|
<display_name>Add HPWH for Domestic Hot Water</display_name>
|
@@ -351,36 +351,30 @@ The flexibility of the system is based on user-defined temperatures and times, w
|
|
351
351
|
</attribute>
|
352
352
|
</attributes>
|
353
353
|
<files>
|
354
|
+
<file>
|
355
|
+
<filename>LICENSE.md</filename>
|
356
|
+
<filetype>md</filetype>
|
357
|
+
<usage_type>license</usage_type>
|
358
|
+
<checksum>BFFB1AA6</checksum>
|
359
|
+
</file>
|
360
|
+
<file>
|
361
|
+
<filename>README.md</filename>
|
362
|
+
<filetype>md</filetype>
|
363
|
+
<usage_type>readme</usage_type>
|
364
|
+
<checksum>5E6E20CF</checksum>
|
365
|
+
</file>
|
354
366
|
<file>
|
355
367
|
<filename>README.md.erb</filename>
|
356
368
|
<filetype>erb</filetype>
|
357
369
|
<usage_type>readmeerb</usage_type>
|
358
370
|
<checksum>703C9964</checksum>
|
359
371
|
</file>
|
360
|
-
<file>
|
361
|
-
<filename>SmallHotel-2A.osm</filename>
|
362
|
-
<filetype>osm</filetype>
|
363
|
-
<usage_type>test</usage_type>
|
364
|
-
<checksum>EB637B7E</checksum>
|
365
|
-
</file>
|
366
372
|
<file>
|
367
373
|
<filename>Flexible Domestic Hot Water Implementation Guide.pdf</filename>
|
368
374
|
<filetype>pdf</filetype>
|
369
375
|
<usage_type>doc</usage_type>
|
370
376
|
<checksum>F610A0B3</checksum>
|
371
377
|
</file>
|
372
|
-
<file>
|
373
|
-
<filename>README.md</filename>
|
374
|
-
<filetype>md</filetype>
|
375
|
-
<usage_type>readme</usage_type>
|
376
|
-
<checksum>5E6E20CF</checksum>
|
377
|
-
</file>
|
378
|
-
<file>
|
379
|
-
<filename>LICENSE.md</filename>
|
380
|
-
<filetype>md</filetype>
|
381
|
-
<usage_type>license</usage_type>
|
382
|
-
<checksum>BFFB1AA6</checksum>
|
383
|
-
</file>
|
384
378
|
<file>
|
385
379
|
<version>
|
386
380
|
<software_program>OpenStudio</software_program>
|
@@ -392,11 +386,17 @@ The flexibility of the system is based on user-defined temperatures and times, w
|
|
392
386
|
<usage_type>script</usage_type>
|
393
387
|
<checksum>A460A43B</checksum>
|
394
388
|
</file>
|
389
|
+
<file>
|
390
|
+
<filename>SmallHotel-2A.osm</filename>
|
391
|
+
<filetype>osm</filetype>
|
392
|
+
<usage_type>test</usage_type>
|
393
|
+
<checksum>EB637B7E</checksum>
|
394
|
+
</file>
|
395
395
|
<file>
|
396
396
|
<filename>add_hpwh_test.rb</filename>
|
397
397
|
<filetype>rb</filetype>
|
398
398
|
<usage_type>test</usage_type>
|
399
|
-
<checksum>
|
399
|
+
<checksum>78D321AB</checksum>
|
400
400
|
</file>
|
401
401
|
</files>
|
402
402
|
</measure>
|
@@ -534,22 +534,22 @@ class AddPackagedIceStorage < OpenStudio::Measure::EnergyPlusMeasure
|
|
534
534
|
case sel_coil.iddObject.name
|
535
535
|
when 'Coil:Cooling:DX:SingleSpeed'
|
536
536
|
runner.registerInfo("Grabing inputs for #{utss.getString(0)} from #{sel_coil.iddObject.name} object named #{sel_coil.getString(0)}")
|
537
|
-
utss.setString(16, sel_coil.getString(2).get)
|
538
|
-
utss.setString(18, sel_coil.getString(4).get)
|
539
|
-
utss.setString(19, sel_coil.getString(10).get)
|
540
|
-
utss.setString(20, sel_coil.getString(11).get)
|
541
|
-
utss.setString(21, sel_coil.getString(12).get)
|
542
|
-
utss.setString(22, sel_coil.getString(13).get)
|
543
|
-
utss.setString(23, sel_coil.getString(14).get)
|
537
|
+
utss.setString(16, sel_coil.getString(2).get) # Gross Rated Total Cooling Capacity
|
538
|
+
utss.setString(18, sel_coil.getString(4).get) # Gross Rated Cooling COP
|
539
|
+
utss.setString(19, sel_coil.getString(10).get) # Total Cooling Capacity Function of Temperature Curve Name
|
540
|
+
utss.setString(20, sel_coil.getString(11).get) # Total Cooling Capacity Function of Flow Fraction Curve Name
|
541
|
+
utss.setString(21, sel_coil.getString(12).get) # Energy Input Ratio Function of Temperature Curve Name
|
542
|
+
utss.setString(22, sel_coil.getString(13).get) # Energy Input Ratio Function of Flow Fraction Curve Name
|
543
|
+
utss.setString(23, sel_coil.getString(14).get) # Part Load Fraction Correlation Curve Name
|
544
544
|
when 'Coil:Cooling:DX:TwoSpeed'
|
545
545
|
runner.registerInfo("Grabing inputs for #{utss.getString(0)} from #{sel_coil.iddObject.name} object named #{sel_coil.getString(0)}")
|
546
|
-
utss.setString(16, sel_coil.getString(
|
547
|
-
utss.setString(18, sel_coil.getString(
|
548
|
-
utss.setString(19, sel_coil.getString(
|
549
|
-
utss.setString(20, sel_coil.getString(
|
550
|
-
utss.setString(21, sel_coil.getString(
|
551
|
-
utss.setString(22, sel_coil.getString(
|
552
|
-
utss.setString(23, sel_coil.getString(
|
546
|
+
utss.setString(16, sel_coil.getString(16).get) # Low Speed Gross Rated Total Cooling Capacity
|
547
|
+
utss.setString(18, sel_coil.getString(18).get) # Low Speed Gross Rated Cooling COP
|
548
|
+
utss.setString(19, sel_coil.getString(22).get) # Low Speed Total Cooling Capacity Function of Temperature Curve Name
|
549
|
+
utss.setString(20, sel_coil.getString(12).get) # Total Cooling Capacity Function of Flow Fraction Curve Name
|
550
|
+
utss.setString(21, sel_coil.getString(23).get) # Low Speed Energy Input Ratio Function of Temperature Curve Name
|
551
|
+
utss.setString(22, sel_coil.getString(14).get) # Energy Input Ratio Function of Flow Fraction Curve Name
|
552
|
+
utss.setString(23, sel_coil.getString(15).get) # Part Load Fraction Correlation Curve Name
|
553
553
|
end
|
554
554
|
|
555
555
|
# identify container object in which the coil is used
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
|
-
<schema_version>3.
|
3
|
+
<schema_version>3.1</schema_version>
|
4
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>21dee291-3e59-413a-9353-efb85b3e8d7b</version_id>
|
7
|
+
<version_modified>2023-12-12T07:23:13Z</version_modified>
|
8
8
|
<xml_checksum>2617824F</xml_checksum>
|
9
9
|
<class_name>AddPackagedIceStorage</class_name>
|
10
10
|
<display_name>Add Packaged Ice Storage</display_name>
|
@@ -201,16 +201,10 @@ If 'AutoSize' is selected for ice capacity, these inputs set an ice capacity siz
|
|
201
201
|
</attributes>
|
202
202
|
<files>
|
203
203
|
<file>
|
204
|
-
<filename>
|
205
|
-
<filetype>
|
206
|
-
<usage_type>
|
207
|
-
<checksum>
|
208
|
-
</file>
|
209
|
-
<file>
|
210
|
-
<filename>MeasureTest.osm</filename>
|
211
|
-
<filetype>osm</filetype>
|
212
|
-
<usage_type>test</usage_type>
|
213
|
-
<checksum>DC0DCC4B</checksum>
|
204
|
+
<filename>LICENSE.md</filename>
|
205
|
+
<filetype>md</filetype>
|
206
|
+
<usage_type>license</usage_type>
|
207
|
+
<checksum>BFFB1AA6</checksum>
|
214
208
|
</file>
|
215
209
|
<file>
|
216
210
|
<filename>README.md</filename>
|
@@ -219,10 +213,27 @@ If 'AutoSize' is selected for ice capacity, these inputs set an ice capacity siz
|
|
219
213
|
<checksum>E6FBC489</checksum>
|
220
214
|
</file>
|
221
215
|
<file>
|
222
|
-
<
|
216
|
+
<version>
|
217
|
+
<software_program>OpenStudio</software_program>
|
218
|
+
<identifier>3.0.0</identifier>
|
219
|
+
<min_compatible>3.5.0</min_compatible>
|
220
|
+
</version>
|
221
|
+
<filename>measure.rb</filename>
|
222
|
+
<filetype>rb</filetype>
|
223
|
+
<usage_type>script</usage_type>
|
224
|
+
<checksum>30BE5060</checksum>
|
225
|
+
</file>
|
226
|
+
<file>
|
227
|
+
<filename>TESCurves.idf</filename>
|
228
|
+
<filetype>idf</filetype>
|
229
|
+
<usage_type>resource</usage_type>
|
230
|
+
<checksum>E919566C</checksum>
|
231
|
+
</file>
|
232
|
+
<file>
|
233
|
+
<filename>MeasureTest.osm</filename>
|
223
234
|
<filetype>osm</filetype>
|
224
235
|
<usage_type>test</usage_type>
|
225
|
-
<checksum>
|
236
|
+
<checksum>DC0DCC4B</checksum>
|
226
237
|
</file>
|
227
238
|
<file>
|
228
239
|
<filename>USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw</filename>
|
@@ -231,27 +242,16 @@ If 'AutoSize' is selected for ice capacity, these inputs set an ice capacity siz
|
|
231
242
|
<checksum>C254B53F</checksum>
|
232
243
|
</file>
|
233
244
|
<file>
|
234
|
-
<filename>
|
235
|
-
<filetype>md</filetype>
|
236
|
-
<usage_type>license</usage_type>
|
237
|
-
<checksum>BFFB1AA6</checksum>
|
238
|
-
</file>
|
239
|
-
<file>
|
240
|
-
<version>
|
241
|
-
<software_program>OpenStudio</software_program>
|
242
|
-
<identifier>3.0.0</identifier>
|
243
|
-
<min_compatible>3.5.0</min_compatible>
|
244
|
-
</version>
|
245
|
-
<filename>measure.rb</filename>
|
245
|
+
<filename>add_packaged_ice_storage_test.rb</filename>
|
246
246
|
<filetype>rb</filetype>
|
247
|
-
<usage_type>
|
248
|
-
<checksum>
|
247
|
+
<usage_type>test</usage_type>
|
248
|
+
<checksum>2D36B76B</checksum>
|
249
249
|
</file>
|
250
250
|
<file>
|
251
|
-
<filename>
|
252
|
-
<filetype>
|
251
|
+
<filename>single_speed_dx_350.osm</filename>
|
252
|
+
<filetype>osm</filetype>
|
253
253
|
<usage_type>test</usage_type>
|
254
|
-
<checksum>
|
254
|
+
<checksum>D9B82B85</checksum>
|
255
255
|
</file>
|
256
256
|
</files>
|
257
257
|
</measure>
|
@@ -24,7 +24,7 @@ class AddPackagedIceStorageTest < MiniTest::Test
|
|
24
24
|
# @param IDF OpenStudio workspace IDF object
|
25
25
|
# @param run_dir [String] file path location for the annual run, defaults to 'Run' in the current directory
|
26
26
|
# @return [Bool] returns true if successful, false if not
|
27
|
-
def model_run_simulation_and_log_errors(workspace, run_dir = "#{Dir.pwd}/Run")
|
27
|
+
def model_run_simulation_and_log_errors(model, workspace, run_dir = "#{Dir.pwd}/Run")
|
28
28
|
# Make the directory if it doesn't exist
|
29
29
|
unless Dir.exist?(run_dir)
|
30
30
|
FileUtils.mkdir_p(run_dir)
|
@@ -70,7 +70,7 @@ class AddPackagedIceStorageTest < MiniTest::Test
|
|
70
70
|
else
|
71
71
|
# If the sql file does not exist, it is likely that EnergyPlus crashed,
|
72
72
|
# in which case the useful errors are inside the eplusout.err file.
|
73
|
-
err_file_path_string = "#{run_dir}/
|
73
|
+
err_file_path_string = "#{run_dir}/eplusout.err"
|
74
74
|
err_file_path = OpenStudio::Path.new(err_file_path_string)
|
75
75
|
if OpenStudio.exists(err_file_path)
|
76
76
|
if __dir__[0] == ':' # Running from OpenStudio CLI
|
@@ -86,33 +86,32 @@ class AddPackagedIceStorageTest < MiniTest::Test
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
89
|
-
#
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
# end
|
89
|
+
# Report severe or fatal errors in the run
|
90
|
+
error_query = "SELECT ErrorMessage
|
91
|
+
FROM Errors
|
92
|
+
WHERE ErrorType in(1,2)"
|
93
|
+
model.setSqlFile(sql)
|
94
|
+
errs = model.sqlFile.get.execAndReturnVectorOfString(error_query)
|
95
|
+
if errs.is_initialized
|
96
|
+
errs = errs.get
|
97
|
+
end
|
98
|
+
|
99
|
+
# Check that the run completed successfully
|
100
|
+
end_file_stringpath = "#{run_dir}/eplusout.end"
|
101
|
+
end_file_path = OpenStudio::Path.new(end_file_stringpath)
|
102
|
+
if OpenStudio.exists(end_file_path)
|
103
|
+
endstring = File.read(end_file_stringpath)
|
104
|
+
end
|
105
|
+
|
106
|
+
if !endstring.include?('EnergyPlus Completed Successfully')
|
107
|
+
OpenStudio.logFree(OpenStudio::Error, 'openstudio.model.Model', "The run did not finish and had following errors: #{errs.join('\n')}")
|
108
|
+
return false
|
109
|
+
end
|
110
|
+
|
111
|
+
# Log any severe errors that did not cause simulation to fail
|
112
|
+
unless errs.empty?
|
113
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.model.Model', "The run completed but had the following severe errors: #{errs.join('\n')}")
|
114
|
+
end
|
116
115
|
|
117
116
|
return true
|
118
117
|
end
|
@@ -155,10 +154,10 @@ class AddPackagedIceStorageTest < MiniTest::Test
|
|
155
154
|
measure.run(workspace, runner, argument_map)
|
156
155
|
|
157
156
|
# run the annual simulation
|
158
|
-
|
159
|
-
#
|
157
|
+
# commented out for now E+ run in test doesn't function on CI yet
|
158
|
+
#output_file_path = "#{File.dirname(__FILE__)}/output/test_good_argument_values"
|
159
|
+
#sim_results = self.model_run_simulation_and_log_errors(model, workspace, output_file_path)
|
160
160
|
#assert(sim_results)
|
161
|
-
# todo - need to add code so test fails if simulation fails
|
162
161
|
|
163
162
|
result = runner.result
|
164
163
|
assert_equal('Success', result.value.valueName)
|
@@ -206,10 +205,10 @@ class AddPackagedIceStorageTest < MiniTest::Test
|
|
206
205
|
measure.run(workspace, runner, argument_map)
|
207
206
|
|
208
207
|
# run the annual simulation
|
209
|
-
|
210
|
-
#
|
208
|
+
# commented out for now E+ run in test doesn't function on CI yet
|
209
|
+
#output_file_path = "#{File.dirname(__FILE__)}/output/single_speed_dx"
|
210
|
+
#sim_results = self.model_run_simulation_and_log_errors(model, workspace, output_file_path)
|
211
211
|
#assert(sim_results)
|
212
|
-
# todo - need to add code so test fails if simulation fails
|
213
212
|
|
214
213
|
result = runner.result
|
215
214
|
assert_equal('Success', result.value.valueName)
|
@@ -17,18 +17,24 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
18
18
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
19
|
end
|
20
|
-
spec.bindir
|
21
|
-
spec.executables
|
20
|
+
spec.bindir = 'exe'
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ['lib']
|
23
23
|
|
24
|
-
spec.required_ruby_version = '~> 2.
|
24
|
+
spec.required_ruby_version = '~> 3.2.2'
|
25
25
|
|
26
|
-
spec.add_dependency 'bundler', '~> 2.
|
27
|
-
|
28
|
-
spec.add_dependency 'openstudio-
|
29
|
-
spec.add_dependency '
|
26
|
+
spec.add_dependency 'bundler', '~> 2.4.10'
|
27
|
+
spec.add_dependency 'openstudio-extension', '~> 0.8.0'
|
28
|
+
spec.add_dependency 'openstudio-standards', '0.6.1'
|
29
|
+
spec.add_dependency 'openstudio_measure_tester', '~> 0.4.0'
|
30
|
+
spec.add_dependency 'openstudio-workflow', '~> 2.4.0'
|
31
|
+
spec.add_dependency 'bcl', '~> 0.8.0'
|
32
|
+
spec.add_dependency 'octokit', '4.18.0' # for change logs
|
33
|
+
spec.add_dependency 'multipart-post', '2.4.0'
|
34
|
+
spec.add_dependency 'parallel', '1.19.1'
|
35
|
+
spec.add_dependency 'regexp_parser', '2.9.0'
|
36
|
+
spec.add_dependency 'addressable', '2.8.1'
|
30
37
|
|
31
38
|
spec.add_development_dependency 'rake', '~> 13.0'
|
32
39
|
spec.add_development_dependency 'rspec', '~> 3.9'
|
33
|
-
spec.add_development_dependency 'rubocop-performance', '~> 1.11.3'
|
34
40
|
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.
|
4
|
+
version: 0.9.0
|
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: 2024-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -17,30 +17,44 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 2.4.10
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 2.4.10
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: openstudio-extension
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
34
|
+
version: 0.8.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 0.
|
41
|
+
version: 0.8.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: openstudio-standards
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 0.6.1
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.6.1
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: openstudio_measure_tester
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
45
59
|
requirements:
|
46
60
|
- - "~>"
|
@@ -54,47 +68,131 @@ dependencies:
|
|
54
68
|
- !ruby/object:Gem::Version
|
55
69
|
version: 0.4.0
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
71
|
+
name: openstudio-workflow
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
59
73
|
requirements:
|
60
74
|
- - "~>"
|
61
75
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
63
|
-
type: :
|
76
|
+
version: 2.4.0
|
77
|
+
type: :runtime
|
64
78
|
prerelease: false
|
65
79
|
version_requirements: !ruby/object:Gem::Requirement
|
66
80
|
requirements:
|
67
81
|
- - "~>"
|
68
82
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
83
|
+
version: 2.4.0
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
85
|
+
name: bcl
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
73
87
|
requirements:
|
74
88
|
- - "~>"
|
75
89
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
90
|
+
version: 0.8.0
|
91
|
+
type: :runtime
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.8.0
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: octokit
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 4.18.0
|
105
|
+
type: :runtime
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 4.18.0
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: multipart-post
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - '='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 2.4.0
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - '='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 2.4.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: parallel
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - '='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 1.19.1
|
133
|
+
type: :runtime
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - '='
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: 1.19.1
|
140
|
+
- !ruby/object:Gem::Dependency
|
141
|
+
name: regexp_parser
|
142
|
+
requirement: !ruby/object:Gem::Requirement
|
143
|
+
requirements:
|
144
|
+
- - '='
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: 2.9.0
|
147
|
+
type: :runtime
|
148
|
+
prerelease: false
|
149
|
+
version_requirements: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - '='
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 2.9.0
|
154
|
+
- !ruby/object:Gem::Dependency
|
155
|
+
name: addressable
|
156
|
+
requirement: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - '='
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 2.8.1
|
161
|
+
type: :runtime
|
162
|
+
prerelease: false
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - '='
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: 2.8.1
|
168
|
+
- !ruby/object:Gem::Dependency
|
169
|
+
name: rake
|
170
|
+
requirement: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - "~>"
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '13.0'
|
77
175
|
type: :development
|
78
176
|
prerelease: false
|
79
177
|
version_requirements: !ruby/object:Gem::Requirement
|
80
178
|
requirements:
|
81
179
|
- - "~>"
|
82
180
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
181
|
+
version: '13.0'
|
84
182
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
183
|
+
name: rspec
|
86
184
|
requirement: !ruby/object:Gem::Requirement
|
87
185
|
requirements:
|
88
186
|
- - "~>"
|
89
187
|
- !ruby/object:Gem::Version
|
90
|
-
version:
|
188
|
+
version: '3.9'
|
91
189
|
type: :development
|
92
190
|
prerelease: false
|
93
191
|
version_requirements: !ruby/object:Gem::Requirement
|
94
192
|
requirements:
|
95
193
|
- - "~>"
|
96
194
|
- !ruby/object:Gem::Version
|
97
|
-
version:
|
195
|
+
version: '3.9'
|
98
196
|
description: library and measures for OpenStudio for load flexibility applications.
|
99
197
|
email:
|
100
198
|
- karl.heine@nrel.gov
|
@@ -165,14 +263,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
165
263
|
requirements:
|
166
264
|
- - "~>"
|
167
265
|
- !ruby/object:Gem::Version
|
168
|
-
version: 2.
|
266
|
+
version: 3.2.2
|
169
267
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
268
|
requirements:
|
171
269
|
- - ">="
|
172
270
|
- !ruby/object:Gem::Version
|
173
271
|
version: '0'
|
174
272
|
requirements: []
|
175
|
-
rubygems_version: 3.
|
273
|
+
rubygems_version: 3.4.10
|
176
274
|
signing_key:
|
177
275
|
specification_version: 4
|
178
276
|
summary: library and measures for OpenStudio for load flexibility applications.
|