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.
- checksums.yaml +4 -4
- data/lib/measures/GEB Metrics Report/resources/os_lib_reporting.rb +5 -24
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/LICENSE.md +13 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/README.md +152 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/README.md.erb +45 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/docs/.gitkeep +0 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.rb +604 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/measure.xml +265 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/tests/USA_NY_Buffalo.Niagara.Intl.AP.725280_TMY3.epw +8768 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/tests/add_fan_assist_night_ventilation_with_hybrid_control_test.rb +94 -0
- data/lib/measures/add_fan_assist_night_ventilation_with_hybrid_control/tests/medium_office_with_internal_windows.osm +13459 -0
- data/lib/measures/add_heat_pump_water_heater/measure.rb +2 -2
- data/lib/measures/apply_dynamic_coating_to_roof_wall/LICENSE.md +1 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/README.md +101 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/README.md.erb +45 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/docs/.gitkeep +0 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.rb +421 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/measure.xml +204 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/MediumOffice-90.1-2010-ASHRAE 169-2013-5A.osm +13669 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/SF-CACZ6-HPWH-pre1978.osm +16130 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/USA_NY_Buffalo.Niagara.Intl.AP.725280_TMY3.epw +8768 -0
- data/lib/measures/apply_dynamic_coating_to_roof_wall/tests/apply_dynamic_coating_to_roof_wall_test.rb +81 -0
- data/lib/openstudio/geb/run.rb +34 -0
- data/lib/openstudio/geb/version.rb +1 -1
- metadata +23 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 336ea13810edeebf09020ce840037450e7609b6dcc716291a5a6ad6e75bc565e
|
4
|
+
data.tar.gz: b6b77ae6e70981923089d110aab9599dbfd05bcbccb05013e8a52b1dfb114652
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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 %>
|
File without changes
|