urbanopt-reporting 0.3.4 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -3
- data/CHANGELOG.md +34 -0
- data/Rakefile +16 -6
- data/doc_templates/copyright_ruby.txt +17 -7
- data/lib/measures/default_feature_reports/measure.rb +120 -93
- data/lib/measures/default_feature_reports/measure.xml +11 -11
- data/lib/measures/export_modelica_loads/LICENSE.md +23 -23
- data/lib/measures/export_modelica_loads/measure.rb +48 -56
- data/lib/measures/export_modelica_loads/measure.xml +21 -21
- data/lib/measures/export_time_series_modelica/LICENSE.md +27 -1
- data/lib/measures/export_time_series_modelica/measure.rb +41 -35
- data/lib/measures/export_time_series_modelica/measure.xml +18 -18
- data/lib/measures/export_time_series_modelica/resources/os_lib_helper_methods.rb +39 -34
- data/lib/urbanopt/reporting.rb +16 -6
- data/lib/urbanopt/reporting/default_reports.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/construction_cost.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/date.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/distributed_generation.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/end_use.rb +54 -23
- data/lib/urbanopt/reporting/default_reports/end_uses.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/extension.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/feature_report.rb +18 -6
- data/lib/urbanopt/reporting/default_reports/generator.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/location.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/logger.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/power_distribution.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/program.rb +17 -7
- data/lib/urbanopt/reporting/default_reports/reporting_period.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/scenario_report.rb +25 -13
- data/lib/urbanopt/reporting/default_reports/schema/scenario_csv_columns.txt +11 -10
- data/lib/urbanopt/reporting/default_reports/schema/scenario_schema.json +4 -1
- data/lib/urbanopt/reporting/default_reports/solar_pv.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/storage.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/thermal_storage.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/timeseries_csv.rb +17 -7
- data/lib/urbanopt/reporting/default_reports/validator.rb +16 -6
- data/lib/urbanopt/reporting/default_reports/wind.rb +16 -6
- data/lib/urbanopt/reporting/derived_extension.rb +16 -6
- data/lib/urbanopt/reporting/version.rb +17 -7
- data/urbanopt-reporting-gem.gemspec +3 -3
- metadata +9 -9
@@ -1,10 +1,11 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
2
|
<measure>
|
3
3
|
<schema_version>3.0</schema_version>
|
4
|
+
<error>wrong number of arguments (given 1, expected 0)</error>
|
4
5
|
<name>default_feature_reports</name>
|
5
6
|
<uid>9ee3135a-8070-4408-bfa1-b75fecf9dd4f</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
7
|
+
<version_id>136d51d4-9a61-48cd-b068-0e02c4094e76</version_id>
|
8
|
+
<version_modified>20210427T174740Z</version_modified>
|
8
9
|
<xml_checksum>FB304155</xml_checksum>
|
9
10
|
<class_name>DefaultFeatureReports</class_name>
|
10
11
|
<display_name>DefaultFeatureReports</display_name>
|
@@ -120,12 +121,6 @@
|
|
120
121
|
<usage_type>readmeerb</usage_type>
|
121
122
|
<checksum>703C9964</checksum>
|
122
123
|
</file>
|
123
|
-
<file>
|
124
|
-
<filename>example_model.osm</filename>
|
125
|
-
<filetype>osm</filetype>
|
126
|
-
<usage_type>test</usage_type>
|
127
|
-
<checksum>CC4BFFAF</checksum>
|
128
|
-
</file>
|
129
124
|
<file>
|
130
125
|
<filename>README.md</filename>
|
131
126
|
<filetype>md</filetype>
|
@@ -138,11 +133,17 @@
|
|
138
133
|
<usage_type>license</usage_type>
|
139
134
|
<checksum>BBD19F47</checksum>
|
140
135
|
</file>
|
136
|
+
<file>
|
137
|
+
<filename>example_model.osm</filename>
|
138
|
+
<filetype>osm</filetype>
|
139
|
+
<usage_type>test</usage_type>
|
140
|
+
<checksum>A178EC04</checksum>
|
141
|
+
</file>
|
141
142
|
<file>
|
142
143
|
<filename>default_feature_reports_test.rb</filename>
|
143
144
|
<filetype>rb</filetype>
|
144
145
|
<usage_type>test</usage_type>
|
145
|
-
<checksum>
|
146
|
+
<checksum>0C4ED2E7</checksum>
|
146
147
|
</file>
|
147
148
|
<file>
|
148
149
|
<version>
|
@@ -153,8 +154,7 @@
|
|
153
154
|
<filename>measure.rb</filename>
|
154
155
|
<filetype>rb</filetype>
|
155
156
|
<usage_type>script</usage_type>
|
156
|
-
<checksum>
|
157
|
+
<checksum>CD1AFD42</checksum>
|
157
158
|
</file>
|
158
159
|
</files>
|
159
160
|
</measure>
|
160
|
-
<error>wrong number of arguments (given 1, expected 0)</error>
|
@@ -1,27 +1,27 @@
|
|
1
|
-
|
1
|
+
URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
|
2
|
+
contributors. All rights reserved.
|
2
3
|
|
3
|
-
Redistribution and use in source and binary forms, with or without modification,
|
4
|
-
provided that the following conditions are met:
|
4
|
+
Redistribution and use in source and binary forms, with or without modification,
|
5
|
+
are permitted provided that the following conditions are met:
|
5
6
|
|
6
|
-
|
7
|
-
and the following disclaimer.
|
7
|
+
Redistributions of source code must retain the above copyright notice, this list
|
8
|
+
of conditions and the following disclaimer.
|
8
9
|
|
9
|
-
|
10
|
-
and the following disclaimer in the documentation and/or other
|
10
|
+
Redistributions in binary form must reproduce the above copyright notice, this
|
11
|
+
list of conditions and the following disclaimer in the documentation and/or other
|
12
|
+
materials provided with the distribution.
|
13
|
+
|
14
|
+
Neither the name of the copyright holder nor the names of its contributors may be
|
15
|
+
used to endorse or promote products derived from this software without specific
|
16
|
+
prior written permission.
|
11
17
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
|
23
|
-
OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
24
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
|
25
|
-
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
26
|
-
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
27
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
19
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
20
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
21
|
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
22
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
23
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
24
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
25
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
26
|
+
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
27
|
+
OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -1,40 +1,47 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# All rights reserved.
|
4
|
-
|
5
|
-
#
|
6
|
-
#
|
7
|
-
|
8
|
-
#
|
9
|
-
#
|
10
|
-
|
11
|
-
#
|
12
|
-
# and
|
13
|
-
#
|
14
|
-
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
|
19
|
-
# of
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
28
|
-
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
34
|
-
#
|
1
|
+
# *********************************************************************************
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
|
+
# contributors. All rights reserved.
|
4
|
+
|
5
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
6
|
+
# are permitted provided that the following conditions are met:
|
7
|
+
|
8
|
+
# Redistributions of source code must retain the above copyright notice, this list
|
9
|
+
# of conditions and the following disclaimer.
|
10
|
+
|
11
|
+
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
|
+
# list of conditions and the following disclaimer in the documentation and/or other
|
13
|
+
# materials provided with the distribution.
|
14
|
+
|
15
|
+
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
|
+
# used to endorse or promote products derived from this software without specific
|
17
|
+
# prior written permission.
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
29
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
30
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
31
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
32
|
+
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
33
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
34
|
+
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
35
|
+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
36
|
+
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
37
|
+
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
38
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
39
|
+
# *********************************************************************************
|
35
40
|
|
36
41
|
require 'erb'
|
42
|
+
require 'date'
|
37
43
|
|
44
|
+
# This measure is originally from https://github.com/urbanopt/DES_HVAC
|
38
45
|
# start the measure
|
39
46
|
class ExportModelicaLoads < OpenStudio::Measure::ReportingMeasure
|
40
47
|
# human readable name
|
@@ -67,33 +74,18 @@ class ExportModelicaLoads < OpenStudio::Measure::ReportingMeasure
|
|
67
74
|
super(runner, user_arguments)
|
68
75
|
|
69
76
|
result = OpenStudio::IdfObjectVector.new
|
70
|
-
|
71
|
-
# To use the built-in error checking we need the model...
|
72
|
-
# get the last model and sql file
|
73
|
-
model = runner.lastOpenStudioModel
|
74
|
-
if model.empty?
|
75
|
-
runner.registerError('Cannot find last model.')
|
76
|
-
return false
|
77
|
-
end
|
78
|
-
model = model.get
|
79
|
-
|
80
|
-
# use the built-in error checking
|
81
|
-
if !runner.validateUserArguments(arguments(model), user_arguments)
|
82
|
-
return false
|
83
|
-
end
|
84
|
-
|
85
77
|
result << OpenStudio::IdfObject.load('Output:Variable,,Site Mains Water Temperature,timestep;').get
|
86
78
|
result << OpenStudio::IdfObject.load('Output:Variable,,Site Outdoor Air Drybulb Temperature,timestep;').get
|
87
79
|
result << OpenStudio::IdfObject.load('Output:Variable,,Site Outdoor Air Relative Humidity,timestep;').get
|
88
80
|
result << OpenStudio::IdfObject.load('Output:Meter,Cooling:Electricity,timestep;').get
|
89
81
|
result << OpenStudio::IdfObject.load('Output:Meter,Heating:Electricity,timestep;').get
|
90
|
-
result << OpenStudio::IdfObject.load('Output:Meter,Heating:
|
82
|
+
result << OpenStudio::IdfObject.load('Output:Meter,Heating:NaturalGas,timestep;').get
|
91
83
|
result << OpenStudio::IdfObject.load('Output:Meter,InteriorLights:Electricity,timestep;').get
|
92
84
|
result << OpenStudio::IdfObject.load('Output:Meter,Fans:Electricity,timestep;').get
|
93
85
|
result << OpenStudio::IdfObject.load('Output:Meter,InteriorEquipment:Electricity,timestep;').get # Joules
|
94
86
|
result << OpenStudio::IdfObject.load('Output:Meter,ExteriorLighting:Electricity,timestep;').get # Joules
|
95
87
|
result << OpenStudio::IdfObject.load('Output:Meter,Electricity:Facility,timestep;').get # Joules
|
96
|
-
result << OpenStudio::IdfObject.load('Output:Meter,Electricity:Facility,timestep;').get
|
88
|
+
result << OpenStudio::IdfObject.load('Output:Meter,Electricity:Facility,timestep;').get # #Using this for data at timestep interval
|
97
89
|
result << OpenStudio::IdfObject.load('Output:Meter,Gas:Facility,timestep;').get # Joules
|
98
90
|
result << OpenStudio::IdfObject.load('Output:Meter,Heating:EnergyTransfer,timestep;').get # Joules
|
99
91
|
result << OpenStudio::IdfObject.load('Output:Meter,WaterSystems:EnergyTransfer,timestep;').get # Joules
|
@@ -213,8 +205,8 @@ class ExportModelicaLoads < OpenStudio::Measure::ReportingMeasure
|
|
213
205
|
end
|
214
206
|
model = model.get
|
215
207
|
|
216
|
-
timesteps_per_hour=model.getTimestep.numberOfTimestepsPerHour.to_i
|
217
|
-
timestep=60/timesteps_per_hour #timestep in minutes
|
208
|
+
timesteps_per_hour = model.getTimestep.numberOfTimestepsPerHour.to_i
|
209
|
+
timestep = 60 / timesteps_per_hour # timestep in minutes
|
218
210
|
|
219
211
|
sqlFile = runner.lastEnergyPlusSqlFile
|
220
212
|
if sqlFile.empty?
|
@@ -241,7 +233,7 @@ class ExportModelicaLoads < OpenStudio::Measure::ReportingMeasure
|
|
241
233
|
ts = sqlFile.timeSeries('RUN PERIOD 1', 'Zone Timestep', attribute_name)
|
242
234
|
if ts.empty?
|
243
235
|
runner.registerError("This feature does not have the attribute '#{attribute_name}' to enable this measure to work." \
|
244
|
-
|
236
|
+
'To resolve, simulate a building with electricity or remove this measure from your workflow.')
|
245
237
|
else
|
246
238
|
ts = ts.first
|
247
239
|
dt_base = nil
|
@@ -256,7 +248,7 @@ class ExportModelicaLoads < OpenStudio::Measure::ReportingMeasure
|
|
256
248
|
dt.date.dayOfWeek.value,
|
257
249
|
dt.time.hours,
|
258
250
|
dt.time.minutes,
|
259
|
-
dt_current.to_time.to_i - dt_base.to_time.to_i + timestep*60
|
251
|
+
dt_current.to_time.to_i - dt_base.to_time.to_i + timestep * 60
|
260
252
|
]
|
261
253
|
end
|
262
254
|
end
|
@@ -265,7 +257,7 @@ class ExportModelicaLoads < OpenStudio::Measure::ReportingMeasure
|
|
265
257
|
extract_timeseries_into_matrix(sqlFile, rows, 'Site Outdoor Air Drybulb Temperature', 'Environment', 0, timestep)
|
266
258
|
extract_timeseries_into_matrix(sqlFile, rows, 'Site Outdoor Air Relative Humidity', 'Environment', 0, timestep)
|
267
259
|
extract_timeseries_into_matrix(sqlFile, rows, 'Heating:Electricity', nil, 0, timestep)
|
268
|
-
extract_timeseries_into_matrix(sqlFile, rows, 'Heating:
|
260
|
+
extract_timeseries_into_matrix(sqlFile, rows, 'Heating:NaturalGas', nil, 0, timestep)
|
269
261
|
extract_timeseries_into_matrix(sqlFile, rows, 'Cooling:Electricity', nil, 0, timestep)
|
270
262
|
extract_timeseries_into_matrix(sqlFile, rows, 'Electricity:Facility', nil, 0, timestep)
|
271
263
|
extract_timeseries_into_matrix(sqlFile, rows, 'Gas:Facility', nil, 0, timestep)
|
@@ -3,8 +3,8 @@
|
|
3
3
|
<schema_version>3.0</schema_version>
|
4
4
|
<name>export_modelica_loads</name>
|
5
5
|
<uid>7051db01-2e55-4223-b5b5-fee615b68dd0</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>e80d1948-12bf-4a07-b8b2-cab73c6f8235</version_id>
|
7
|
+
<version_modified>20210427T174740Z</version_modified>
|
8
8
|
<xml_checksum>2C8A3EEF</xml_checksum>
|
9
9
|
<class_name>ExportModelicaLoads</class_name>
|
10
10
|
<display_name>Export Modelica Loads</display_name>
|
@@ -41,18 +41,6 @@
|
|
41
41
|
<usage_type>doc</usage_type>
|
42
42
|
<checksum>00000000</checksum>
|
43
43
|
</file>
|
44
|
-
<file>
|
45
|
-
<filename>export_modelica_loads_test.rb</filename>
|
46
|
-
<filetype>rb</filetype>
|
47
|
-
<usage_type>test</usage_type>
|
48
|
-
<checksum>83EC81AC</checksum>
|
49
|
-
</file>
|
50
|
-
<file>
|
51
|
-
<filename>example_model.osm</filename>
|
52
|
-
<filetype>osm</filetype>
|
53
|
-
<usage_type>test</usage_type>
|
54
|
-
<checksum>39B6E26C</checksum>
|
55
|
-
</file>
|
56
44
|
<file>
|
57
45
|
<filename>USA_CO_Golden-NREL.724666_TMY3.epw</filename>
|
58
46
|
<filetype>epw</filetype>
|
@@ -65,18 +53,30 @@
|
|
65
53
|
<usage_type>resource</usage_type>
|
66
54
|
<checksum>3F69E3FB</checksum>
|
67
55
|
</file>
|
68
|
-
<file>
|
69
|
-
<filename>LICENSE.md</filename>
|
70
|
-
<filetype>md</filetype>
|
71
|
-
<usage_type>license</usage_type>
|
72
|
-
<checksum>E0468DD6</checksum>
|
73
|
-
</file>
|
74
56
|
<file>
|
75
57
|
<filename>README.md</filename>
|
76
58
|
<filetype>md</filetype>
|
77
59
|
<usage_type>readme</usage_type>
|
78
60
|
<checksum>544E6A47</checksum>
|
79
61
|
</file>
|
62
|
+
<file>
|
63
|
+
<filename>export_modelica_loads_test.rb</filename>
|
64
|
+
<filetype>rb</filetype>
|
65
|
+
<usage_type>test</usage_type>
|
66
|
+
<checksum>15232067</checksum>
|
67
|
+
</file>
|
68
|
+
<file>
|
69
|
+
<filename>example_model.osm</filename>
|
70
|
+
<filetype>osm</filetype>
|
71
|
+
<usage_type>test</usage_type>
|
72
|
+
<checksum>A2B6C1DD</checksum>
|
73
|
+
</file>
|
74
|
+
<file>
|
75
|
+
<filename>LICENSE.md</filename>
|
76
|
+
<filetype>md</filetype>
|
77
|
+
<usage_type>license</usage_type>
|
78
|
+
<checksum>BBD19F47</checksum>
|
79
|
+
</file>
|
80
80
|
<file>
|
81
81
|
<version>
|
82
82
|
<software_program>OpenStudio</software_program>
|
@@ -86,7 +86,7 @@
|
|
86
86
|
<filename>measure.rb</filename>
|
87
87
|
<filetype>rb</filetype>
|
88
88
|
<usage_type>script</usage_type>
|
89
|
-
<checksum>
|
89
|
+
<checksum>DA574F8F</checksum>
|
90
90
|
</file>
|
91
91
|
</files>
|
92
92
|
</measure>
|
@@ -1 +1,27 @@
|
|
1
|
-
|
1
|
+
URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
|
2
|
+
contributors. All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without modification,
|
5
|
+
are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
Redistributions of source code must retain the above copyright notice, this list
|
8
|
+
of conditions and the following disclaimer.
|
9
|
+
|
10
|
+
Redistributions in binary form must reproduce the above copyright notice, this
|
11
|
+
list of conditions and the following disclaimer in the documentation and/or other
|
12
|
+
materials provided with the distribution.
|
13
|
+
|
14
|
+
Neither the name of the copyright holder nor the names of its contributors may be
|
15
|
+
used to endorse or promote products derived from this software without specific
|
16
|
+
prior written permission.
|
17
|
+
|
18
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
19
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
20
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
21
|
+
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
22
|
+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
23
|
+
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
24
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
25
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
26
|
+
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
27
|
+
OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -1,41 +1,47 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
# All rights reserved.
|
4
|
-
|
5
|
-
#
|
6
|
-
#
|
7
|
-
|
8
|
-
#
|
9
|
-
#
|
10
|
-
|
11
|
-
#
|
12
|
-
# and
|
13
|
-
#
|
14
|
-
|
15
|
-
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
|
19
|
-
# of
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
27
|
-
#
|
28
|
-
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
34
|
-
#
|
1
|
+
# *********************************************************************************
|
2
|
+
# URBANopt™, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other
|
3
|
+
# contributors. All rights reserved.
|
4
|
+
|
5
|
+
# Redistribution and use in source and binary forms, with or without modification,
|
6
|
+
# are permitted provided that the following conditions are met:
|
7
|
+
|
8
|
+
# Redistributions of source code must retain the above copyright notice, this list
|
9
|
+
# of conditions and the following disclaimer.
|
10
|
+
|
11
|
+
# Redistributions in binary form must reproduce the above copyright notice, this
|
12
|
+
# list of conditions and the following disclaimer in the documentation and/or other
|
13
|
+
# materials provided with the distribution.
|
14
|
+
|
15
|
+
# Neither the name of the copyright holder nor the names of its contributors may be
|
16
|
+
# used to endorse or promote products derived from this software without specific
|
17
|
+
# prior written permission.
|
18
|
+
|
19
|
+
# Redistribution of this software, without modification, must refer to the software
|
20
|
+
# by the same designation. Redistribution of a modified version of this software
|
21
|
+
# (i) may not refer to the modified version by the same designation, or by any
|
22
|
+
# confusingly similar designation, and (ii) must refer to the underlying software
|
23
|
+
# originally provided by Alliance as “URBANopt”. Except to comply with the foregoing,
|
24
|
+
# the term “URBANopt”, or any confusingly similar designation may not be used to
|
25
|
+
# refer to any modified version of this software or any modified version of the
|
26
|
+
# underlying software originally provided by Alliance without the prior written
|
27
|
+
# consent of Alliance.
|
28
|
+
|
29
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
30
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
31
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
32
|
+
# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
33
|
+
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
34
|
+
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
35
|
+
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
36
|
+
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
37
|
+
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
38
|
+
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
39
|
+
# *********************************************************************************
|
35
40
|
|
36
41
|
require 'erb'
|
37
42
|
|
38
43
|
|
44
|
+
# This measure is originally from https://github.com/urbanopt/DES_HVAC
|
39
45
|
# start the measure
|
40
46
|
class ExportTimeSeriesLoadsCSV < OpenStudio::Measure::ReportingMeasure
|
41
47
|
Dir[File.dirname(__FILE__) + '/resources/*.rb'].each { |file| require file }
|
@@ -149,7 +155,7 @@ class ExportTimeSeriesLoadsCSV < OpenStudio::Measure::ReportingMeasure
|
|
149
155
|
result << OpenStudio::IdfObject.load('Output:Meter,Cooling:Electricity,hourly;').get
|
150
156
|
result << OpenStudio::IdfObject.load('Output:Meter,Electricity:Facility,timestep;').get ##Using this for data at timestep interval
|
151
157
|
result << OpenStudio::IdfObject.load('Output:Meter,Heating:Electricity,hourly;').get
|
152
|
-
result << OpenStudio::IdfObject.load('Output:Meter,Heating:
|
158
|
+
result << OpenStudio::IdfObject.load('Output:Meter,Heating:NaturalGas,hourly;').get
|
153
159
|
result << OpenStudio::IdfObject.load('Output:Meter,InteriorLights:Electricity,hourly;').get
|
154
160
|
result << OpenStudio::IdfObject.load('Output:Meter,Fans:Electricity,hourly;').get
|
155
161
|
result << OpenStudio::IdfObject.load('Output:Meter,InteriorEquipment:Electricity,hourly;').get # Joules
|