openstudio-geb 0.4.0 → 0.6.0

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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +7 -3
  3. data/CHANGELOG.md +7 -0
  4. data/Gemfile +7 -17
  5. data/files/seasonal_shedding_peak_hours.json +1 -0
  6. data/files/seasonal_shifting_peak_hours.json +1 -0
  7. data/files/seasonal_shifting_take_hours.json +1 -0
  8. data/lib/measures/AddElectricVehicleChargingLoad/measure.rb +247 -21
  9. data/lib/measures/AddElectricVehicleChargingLoad/tests/CZ06RV2.epw +8768 -0
  10. data/lib/measures/AddElectricVehicleChargingLoad/tests/add_electric_vehicle_charging_load_test.rb +40 -141
  11. data/lib/measures/AddElectricVehicleChargingLoad/tests/test.osm +55 -55
  12. data/lib/measures/AdjustThermostatSetpointsByDegreesForPeakHours/measure.rb +963 -442
  13. data/lib/measures/add_ceiling_fan/measure.rb +2 -2
  14. data/lib/measures/add_chilled_water_storage_tank/measure.rb +2 -2
  15. data/lib/measures/add_exterior_blinds_and_control/measure.rb +6 -5
  16. data/lib/measures/add_interior_blinds_and_control/measure.rb +5 -5
  17. data/lib/measures/add_rooftop_pv_simple/measure.rb +13 -10
  18. data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.rb +2 -2
  19. data/lib/measures/average_ventilation_for_peak_hours/measure.rb +5 -5
  20. data/lib/measures/enable_occupancy_driven_lighting/measure.rb +2 -2
  21. data/lib/measures/precooling/measure.rb +964 -354
  22. data/lib/measures/preheating/measure.rb +940 -356
  23. data/lib/measures/reduce_epd_by_percentage_for_peak_hours/measure.rb +509 -300
  24. data/lib/measures/reduce_lpd_by_percentage_for_peak_hours/measure.rb +534 -309
  25. data/lib/openstudio/geb/run.rb +5 -1
  26. data/lib/openstudio/geb/utilities.rb +3 -2
  27. data/lib/openstudio/geb/version.rb +1 -1
  28. data/openstudio-geb.gemspec +7 -6
  29. metadata +24 -48
@@ -74,6 +74,8 @@ module OpenStudio
74
74
  def apply_measures(osw_result_folder)
75
75
  # create osw_file
76
76
  osw_path = File.join(osw_result_folder, "geb.osw")
77
+ # get the folder of measures
78
+ measures_path = File.expand_path("../../../measures/", __FILE__ )
77
79
 
78
80
  steps = []
79
81
  # measure_dict: hash of measures and their arguments => {measure_name: arguments}
@@ -82,7 +84,8 @@ module OpenStudio
82
84
  report_measures = {}
83
85
  @measure_dict.each_pair do |m_name, para_dict|
84
86
  # get all EnergyPlus and Reporting measures out and remove original ones
85
- File.open("#{para_dict['measure_dir_name']}/measure.rb", 'r') do |file|
87
+ # now measure_dir_name uses folder name rather than absolute path, adding "measure_paths" to the osw file
88
+ File.open("#{measures_path}/#{para_dict['measure_dir_name']}/measure.rb", 'r') do |file|
86
89
  file.each_line do |line|
87
90
  if line =~ /class.+EnergyPlusMeasure/
88
91
  energyplus_measures[m_name] = @measure_dict[m_name]
@@ -119,6 +122,7 @@ module OpenStudio
119
122
  end
120
123
 
121
124
  osw = {}
125
+ osw["measure_paths"] = [measures_path]
122
126
  osw["weather_file"] = @weather_file_path
123
127
  osw["seed_file"] = @baseline_dir_str
124
128
  osw["steps"] = steps
@@ -52,7 +52,8 @@ def list_all_geb_measures
52
52
  measures.each do |measure|
53
53
  measure_name = measure.split('/')[-2]
54
54
  measure_list[measure_name] = {}
55
- measure_list[measure_name]['measure_dir_name'] = File.dirname(measure)
55
+ # now measure_dir_name uses folder name rather than absolute path, adding "measure_paths" to the osw file
56
+ measure_list[measure_name]['measure_dir_name'] = File.basename(File.dirname(measure)) # get just this folder name
56
57
  end
57
58
 
58
59
  =begin
@@ -114,7 +115,7 @@ end
114
115
  def postprocess_out_osw(outdir)
115
116
 
116
117
  out_osw = File.join(outdir, 'out.osw')
117
- raise "Cannot find file #{out_osw}" if !File.exists?(out_osw)
118
+ raise "Cannot find file #{out_osw}" if !File.exist?(out_osw)
118
119
 
119
120
  result_osw = nil
120
121
  File.open(out_osw, 'r') do |f|
@@ -5,6 +5,6 @@
5
5
 
6
6
  module OpenStudio
7
7
  module Geb
8
- VERSION = '0.4.0'.freeze
8
+ VERSION = '0.6.0'.freeze
9
9
  end
10
10
  end
@@ -22,11 +22,12 @@ 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.add_development_dependency 'bundler', '~> 2.1'
26
- spec.add_development_dependency 'rake', '~> 13.0'
27
- spec.add_development_dependency 'rspec', '3.7.0'
28
- spec.add_development_dependency 'rubocop', '~> 1.15.0'
25
+ spec.required_ruby_version = '3.2.2'
26
+
27
+ spec.add_dependency 'openstudio-extension', '~> 0.8.3'
28
+ spec.add_dependency 'openstudio-standards', '~> 0.7.1'
29
+ spec.add_dependency 'simplecov', '0.22.0'
30
+
31
+ spec.add_development_dependency 'rspec', '~> 3.9'
29
32
 
30
- spec.add_dependency 'openstudio-extension', '~> 0.7.0'
31
- spec.add_dependency 'openstudio-standards', '~> 0.5.0'
32
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstudio-geb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kaiyu Sun
@@ -9,92 +9,64 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-12-15 00:00:00.000000000 Z
12
+ date: 2025-01-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: bundler
15
+ name: openstudio-extension
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '2.1'
21
- type: :development
20
+ version: 0.8.3
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: '2.1'
27
+ version: 0.8.3
28
28
  - !ruby/object:Gem::Dependency
29
- name: rake
29
+ name: openstudio-standards
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '13.0'
35
- type: :development
34
+ version: 0.7.1
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: '13.0'
41
+ version: 0.7.1
42
42
  - !ruby/object:Gem::Dependency
43
- name: rspec
43
+ name: simplecov
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - '='
47
47
  - !ruby/object:Gem::Version
48
- version: 3.7.0
49
- type: :development
48
+ version: 0.22.0
49
+ type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 3.7.0
55
+ version: 0.22.0
56
56
  - !ruby/object:Gem::Dependency
57
- name: rubocop
57
+ name: rspec
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: 1.15.0
62
+ version: '3.9'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: 1.15.0
70
- - !ruby/object:Gem::Dependency
71
- name: openstudio-extension
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - "~>"
75
- - !ruby/object:Gem::Version
76
- version: 0.7.0
77
- type: :runtime
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: 0.7.0
84
- - !ruby/object:Gem::Dependency
85
- name: openstudio-standards
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
89
- - !ruby/object:Gem::Version
90
- version: 0.5.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.5.0
69
+ version: '3.9'
98
70
  description: This is a Ruby gem that implemented a series of OpenStudio measures for
99
71
  grid-interactive efficient buildings as well as a measure for reporting and visualization.
100
72
  email:
@@ -115,6 +87,9 @@ files:
115
87
  - doc_templates/copyright_js.txt
116
88
  - doc_templates/copyright_ruby.txt
117
89
  - files/8760.csv
90
+ - files/seasonal_shedding_peak_hours.json
91
+ - files/seasonal_shifting_peak_hours.json
92
+ - files/seasonal_shifting_take_hours.json
118
93
  - lib/measures/Add Output Variable/LICENSE.md
119
94
  - lib/measures/Add Output Variable/README.md
120
95
  - lib/measures/Add Output Variable/README.md.erb
@@ -127,6 +102,7 @@ files:
127
102
  - lib/measures/AddElectricVehicleChargingLoad/docs/.gitkeep
128
103
  - lib/measures/AddElectricVehicleChargingLoad/measure.rb
129
104
  - lib/measures/AddElectricVehicleChargingLoad/measure.xml
105
+ - lib/measures/AddElectricVehicleChargingLoad/tests/CZ06RV2.epw
130
106
  - lib/measures/AddElectricVehicleChargingLoad/tests/add_electric_vehicle_charging_load_test.rb
131
107
  - lib/measures/AddElectricVehicleChargingLoad/tests/example_model.osm
132
108
  - lib/measures/AddElectricVehicleChargingLoad/tests/test.osm
@@ -353,16 +329,16 @@ require_paths:
353
329
  - lib
354
330
  required_ruby_version: !ruby/object:Gem::Requirement
355
331
  requirements:
356
- - - ">="
332
+ - - '='
357
333
  - !ruby/object:Gem::Version
358
- version: '0'
334
+ version: 3.2.2
359
335
  required_rubygems_version: !ruby/object:Gem::Requirement
360
336
  requirements:
361
337
  - - ">="
362
338
  - !ruby/object:Gem::Version
363
339
  version: '0'
364
340
  requirements: []
365
- rubygems_version: 3.1.4
341
+ rubygems_version: 3.0.9
366
342
  signing_key:
367
343
  specification_version: 4
368
344
  summary: OpenStudio measures for grid-interactive efficient buildings