openstudio-geb 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/lib/measures/GEB Metrics Report/resources/os_lib_reporting.rb +5 -24
  3. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/LICENSE.md +13 -0
  4. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/README.md +152 -0
  5. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/README.md.erb +45 -0
  6. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/docs/.gitkeep +0 -0
  7. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.rb +604 -0
  8. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.xml +265 -0
  9. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/tests/USA_NY_Buffalo.Niagara.Intl.AP.725280_TMY3.epw +8768 -0
  10. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/tests/add_fan_assist_night_ventilation_with_hybrid_control_test.rb +94 -0
  11. data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/tests/medium_office_with_internal_windows.osm +13459 -0
  12. data/lib/measures/add_heat_pump_water_heater/measure.rb +2 -2
  13. data/lib/measures/apply_dynamic_coating_to_roof_wall/LICENSE.md +1 -0
  14. data/lib/measures/apply_dynamic_coating_to_roof_wall/README.md +101 -0
  15. data/lib/measures/apply_dynamic_coating_to_roof_wall/README.md.erb +45 -0
  16. data/lib/measures/apply_dynamic_coating_to_roof_wall/docs/.gitkeep +0 -0
  17. data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.rb +421 -0
  18. data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.xml +204 -0
  19. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/MediumOffice-90.1-2010-ASHRAE 169-2013-5A.osm +13669 -0
  20. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/SF-CACZ6-HPWH-pre1978.osm +16130 -0
  21. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/USA_NY_Buffalo.Niagara.Intl.AP.725280_TMY3.epw +8768 -0
  22. data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/apply_dynamic_coating_to_roof_wall_test.rb +81 -0
  23. data/lib/openstudio/geb/run.rb +34 -0
  24. data/lib/openstudio/geb/version.rb +1 -1
  25. metadata +23 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d4e3aa64d8c0c4b47747c35b4fead34ddf0b0bdb1700832b9b1aa4028114d5a
4
- data.tar.gz: 0437b10703119326e2c34600effbff9b9a80a86965393e05841f39d8f01fb493
3
+ metadata.gz: 336ea13810edeebf09020ce840037450e7609b6dcc716291a5a6ad6e75bc565e
4
+ data.tar.gz: b6b77ae6e70981923089d110aab9599dbfd05bcbccb05013e8a52b1dfb114652
5
5
  SHA512:
6
- metadata.gz: c3556d1e23800d744b5406a04e959aa178399ae59ebd937771948949b34d56d3ac7c27d76227ddadacdc64848a1c777e7bb70b2ac292285f4688b53939f8dd2a
7
- data.tar.gz: 457854c8ae8d77a8dd46d800a648fb80eb72089773a29673a2964e2d6a37188b0af030cf490727976c6275972d90b3771b1d6810ef01b78643779792cb680a71
6
+ metadata.gz: 59e69a5e8b91a0ba254e9c537f92aecf3d8c635c16d622b3b278500ffe764cada1616760e2caf400813d8de4bb2d2022bf9df7e886336490de4f2a62f6bbcc4b
7
+ data.tar.gz: 172f250a3bc533052453a64ef1dfff337c3f16dcd7f8db410f6c7a5579916c283d374bc5f29b4304c2dcd7e17c7688a4e24f8661ed25c38c765f58d62d00e4bc
@@ -1,8 +1,8 @@
1
- # *******************************************************************************
2
- # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
- # See also https://openstudio.net/license
4
- # *******************************************************************************
5
-
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
6
  require 'json'
7
7
  require 'openstudio-standards'
8
8
  require 'yaml'
@@ -447,7 +447,6 @@ module OsLib_Reporting
447
447
  winter_demand_geb_values = []
448
448
  step_per_h = model.getTimestep.numberOfTimestepsPerHour.to_f
449
449
  floor_area_ft2 = OpenStudio.convert(model.building.get.floorArea.to_f, 'm^2', 'ft^2').get
450
- puts "*************step 1*************"
451
450
 
452
451
  datetimes.each_with_index do |time, idx|
453
452
  # get results for the event day
@@ -479,14 +478,6 @@ module OsLib_Reporting
479
478
  end
480
479
  end
481
480
 
482
- puts "event_day_times: #{event_day_times.inspect}"
483
- puts "event_day_base_values: #{event_day_base_values.inspect}"
484
- puts "event_day_geb_values: #{event_day_geb_values.inspect}"
485
- puts "summer_demand_base_values.size: #{summer_demand_base_values.size}"
486
- puts "summer_demand_geb_values.size: #{summer_demand_geb_values.size}"
487
- puts "winter_demand_base_values.size: #{winter_demand_base_values.size}"
488
- puts "winter_demand_geb_values.size: #{winter_demand_geb_values.size}"
489
-
490
481
  if (shed_start.is_a?Time) && (shed_end.is_a?Time)
491
482
  shed_range = [shed_start.strftime("%H:%M"), shed_end.strftime("%H:%M")]
492
483
  demand_decrease_shed_period = []
@@ -514,11 +505,6 @@ module OsLib_Reporting
514
505
  end
515
506
  end
516
507
 
517
- puts "demand_base_shed_period: #{demand_base_shed_period.inspect}"
518
- puts "demand_decrease_shed_period: #{demand_decrease_shed_period.inspect}"
519
- puts "demand_base_take_period: #{demand_base_take_period.inspect}"
520
- puts "demand_increase_take_period: #{demand_increase_take_period.inspect}"
521
-
522
508
  # table: list all the primary DF metrics
523
509
  demand_decrease_primary_metrics_table = {}
524
510
  demand_decrease_primary_metrics_table[:title] = 'Demand Decrease (Shed) Primary Metrics'
@@ -569,8 +555,6 @@ module OsLib_Reporting
569
555
  end
570
556
  end
571
557
 
572
- puts "demand_decrease_primary_metrics_table[:data]: #{demand_decrease_primary_metrics_table[:data].inspect}"
573
-
574
558
  # plot: event day timestep demand profiles of baseline and GEB measures
575
559
  bldg_demand_chart = {}
576
560
  bldg_demand_chart[:title] = 'Whole Building Net Electricity Consumption on selected day (W)'
@@ -602,9 +586,6 @@ module OsLib_Reporting
602
586
  y: event_day_geb_values
603
587
  )
604
588
 
605
- puts "demand_decrease_primary_metrics_table: #{demand_decrease_primary_metrics_table.inspect}"
606
- puts "bldg_demand_chart: #{bldg_demand_chart.inspect}"
607
-
608
589
  @geb_metrics_section[:tables] << demand_decrease_primary_metrics_table
609
590
  @geb_metrics_section[:bldg_demand_charts] << bldg_demand_chart
610
591
  # @geb_metrics_section[:tables] << demand_increase_primary_metrics_table
@@ -0,0 +1,13 @@
1
+ OpenStudio(R), Copyright (c) 2008, 2023 Alliance for Sustainable Energy, LLC.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
+
5
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
+
7
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
+
9
+ 3. Redistribution of this software, without modification, must refer to the software by the same designation. Redistribution of a modified version of this software (i) may not refer to the modified version by the same designation, or by any confusingly similar designation, and (ii) must refer to the underlying software originally provided by Alliance as “OpenStudio®”. Except to comply with the foregoing, the term “OpenStudio®”, or any confusingly similar designation may not be used to refer to any modified version of this software or any modified version of the underlying software originally provided by Alliance without the prior written consent of Alliance.
10
+
11
+ 4. The name of the copyright holder(s), any contributors, the United States Government, the United States Department of Energy, or any of their employees may not be used to endorse or promote products derived from this software without specific prior written permission from the respective party.
12
+
13
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND ANY CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S), ANY CONTRIBUTORS, THE UNITED STATES GOVERNMENT, OR THE UNITED STATES DEPARTMENT OF ENERGY, NOR ANY OF THEIR EMPLOYEES, BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,152 @@
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # Add fan assist night ventilation with hybrid control
6
+
7
+ ## Description
8
+ This measure is modified based on the OS measure "fan_assist_night_ventilation" from "openstudio-ee-gem". It adds night ventilation that is enabled by opening windows assisted by exhaust fans. Hybrid ventilation control is added to avoid simultaneous operation of windows and HVAC.
9
+
10
+ ## Modeler Description
11
+ This measure adds a zone ventilation object to each zone with operable windwos. The measure will first look for a celing opening to find a connection for zone a zone mixing object. If a ceiling isn't found, then it looks for a wall. The end result is zone ventilation object followed by a path of zone mixing objects. The exhaust fan consumption is modeled in the zone ventilation object, but no heat is brought in from the fan.
12
+ Different from the original 'fan_assist_night_ventilation' measure, this measure can be applied to models with mechenical systems. HybridVentilationAvailabilityManager is added to airloops and zonal systems to avoid simultaneous operation of windows and HVAC. The zone ventilation is controlled by a combination of schedule, indoor and outdoor temperature, and wind speed.
13
+
14
+ ## Measure Type
15
+ ModelMeasure
16
+
17
+ ## Taxonomy
18
+
19
+
20
+ ## Arguments
21
+
22
+
23
+ ### Design night ventilation air change rate defined by ACH-air changes per hour
24
+
25
+ **Name:** design_night_vent_ach,
26
+ **Type:** Double,
27
+ **Units:** ,
28
+ **Required:** true,
29
+ **Model Dependent:** false
30
+
31
+
32
+ ### Fan Pressure Rise
33
+
34
+ **Name:** fan_pressure_rise,
35
+ **Type:** Double,
36
+ **Units:** Pa,
37
+ **Required:** true,
38
+ **Model Dependent:** false
39
+
40
+
41
+ ### Fan Total Efficiency
42
+
43
+ **Name:** efficiency,
44
+ **Type:** Double,
45
+ **Units:** ,
46
+ **Required:** true,
47
+ **Model Dependent:** false
48
+
49
+
50
+ ### Minimum Indoor Temperature (degC)
51
+ The indoor temperature below which ventilation is shutoff.
52
+ **Name:** min_indoor_temp,
53
+ **Type:** Double,
54
+ **Units:** ,
55
+ **Required:** false,
56
+ **Model Dependent:** false
57
+
58
+
59
+ ### Maximum Indoor Temperature (degC)
60
+ The indoor temperature above which ventilation is shutoff.
61
+ **Name:** max_indoor_temp,
62
+ **Type:** Double,
63
+ **Units:** ,
64
+ **Required:** false,
65
+ **Model Dependent:** false
66
+
67
+
68
+ ### Minimum Indoor-Outdoor Temperature Difference (degC)
69
+ This is the temperature difference between the indoor and outdoor air dry-bulb temperatures below which ventilation is shutoff. For example, a delta temperature of 2 degC means ventilation is available if the outside air temperature is at least 2 degC cooler than the zone air temperature. Values can be negative.
70
+ **Name:** delta_temp,
71
+ **Type:** Double,
72
+ **Units:** ,
73
+ **Required:** false,
74
+ **Model Dependent:** false
75
+
76
+
77
+ ### Minimum Outdoor Temperature (degC)
78
+ The outdoor temperature below which ventilation is shut off.
79
+ **Name:** min_outdoor_temp,
80
+ **Type:** Double,
81
+ **Units:** ,
82
+ **Required:** true,
83
+ **Model Dependent:** false
84
+
85
+
86
+ ### Maximum Outdoor Temperature (degC)
87
+ The outdoor temperature above which ventilation is shut off.
88
+ **Name:** max_outdoor_temp,
89
+ **Type:** Double,
90
+ **Units:** ,
91
+ **Required:** true,
92
+ **Model Dependent:** false
93
+
94
+
95
+ ### Maximum Wind Speed (m/s)
96
+ This is the wind speed above which ventilation is shut off. The default values assume windows are closed when wind is above a gentle breeze to avoid blowing around papers in the space.
97
+ **Name:** max_wind_speed,
98
+ **Type:** Double,
99
+ **Units:** ,
100
+ **Required:** false,
101
+ **Model Dependent:** false
102
+
103
+
104
+ ### Daily Start Time for natural ventilation
105
+ Use 24 hour format (HR:MM)
106
+ **Name:** night_vent_starttime,
107
+ **Type:** String,
108
+ **Units:** ,
109
+ **Required:** false,
110
+ **Model Dependent:** false
111
+
112
+
113
+ ### Daily End Time for natural ventilation
114
+ Use 24 hour format (HR:MM)
115
+ **Name:** night_vent_endtime,
116
+ **Type:** String,
117
+ **Units:** ,
118
+ **Required:** false,
119
+ **Model Dependent:** false
120
+
121
+
122
+ ### Start Date for natural ventilation
123
+ In MM-DD format
124
+ **Name:** night_vent_startdate,
125
+ **Type:** String,
126
+ **Units:** ,
127
+ **Required:** false,
128
+ **Model Dependent:** false
129
+
130
+
131
+ ### End Date for natural ventilation
132
+ In MM-DD format
133
+ **Name:** night_vent_enddate,
134
+ **Type:** String,
135
+ **Units:** ,
136
+ **Required:** false,
137
+ **Model Dependent:** false
138
+
139
+
140
+ ### Allow night time ventilation on weekends
141
+
142
+ **Name:** wknds,
143
+ **Type:** Boolean,
144
+ **Units:** ,
145
+ **Required:** false,
146
+ **Model Dependent:** false
147
+
148
+
149
+
150
+
151
+
152
+
@@ -0,0 +1,45 @@
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
+ <% if argument[:type] == "Choice" && !argument[:model_dependent]%>
30
+ **Choice Display Names** <%= argument[:choice_display_names] %>
31
+ <% end %>
32
+ <% end %>
33
+
34
+ <% if arguments.size == 0 %>
35
+ <%= "This measure does not have any user arguments" %>
36
+ <% end %>
37
+
38
+ <% if outputs.size > 0 %>
39
+ ## Outputs
40
+ <% output_names = [] %>
41
+ <% outputs.each do |output| %>
42
+ <% output_names << output[:display_name] %>
43
+ <% end %>
44
+ <%= output_names.join(", ") %>
45
+ <% end %>