urbanopt-reporting 0.10.0 → 1.0.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.
- checksums.yaml +4 -4
- data/.github/workflows/nightly_ci_build.yml +7 -7
- data/.gitignore +1 -0
- data/CHANGELOG.md +83 -57
- data/Gemfile +2 -6
- data/lib/measures/default_feature_reports/measure.rb +21 -20
- data/lib/measures/default_feature_reports/measure.xml +3 -3
- data/lib/measures/export_modelica_loads/measure.xml +1 -1
- data/lib/measures/export_time_series_modelica/measure.rb +1 -1
- data/lib/measures/export_time_series_modelica/measure.xml +3 -3
- data/lib/urbanopt/reporting/default_reports/construction_cost.rb +2 -2
- data/lib/urbanopt/reporting/default_reports/date.rb +1 -1
- data/lib/urbanopt/reporting/default_reports/end_use.rb +1 -1
- data/lib/urbanopt/reporting/default_reports/end_uses.rb +2 -2
- data/lib/urbanopt/reporting/default_reports/feature_report.rb +1 -1
- data/lib/urbanopt/reporting/default_reports/generator.rb +2 -2
- data/lib/urbanopt/reporting/default_reports/logger.rb +1 -1
- data/lib/urbanopt/reporting/default_reports/power_distribution.rb +2 -2
- data/lib/urbanopt/reporting/default_reports/scenario_report.rb +3 -3
- data/lib/urbanopt/reporting/default_reports/schema/scenario_schema.json +3 -3
- data/lib/urbanopt/reporting/default_reports/solar_pv.rb +1 -1
- data/lib/urbanopt/reporting/default_reports/storage.rb +1 -1
- data/lib/urbanopt/reporting/default_reports/timeseries_csv.rb +2 -2
- data/lib/urbanopt/reporting/default_reports/wind.rb +1 -1
- data/lib/urbanopt/reporting/version.rb +1 -1
- data/urbanopt-reporting-gem.gemspec +9 -9
- metadata +19 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5257c2dff6587116ac76b99b71a41ab96e3166a207832311156dd528e0fa5ffa
|
4
|
+
data.tar.gz: b1192e1e13941f89614c222897290763f97b14799f94b8e9422c39fc9c63ba8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d320925b74222854cdbb9985580ededc332782b87e87aeb9f81df00cec088eccda2e3da954695c617256751e98a1da05766dd87c36341e9d7c9f5b1c3e2e49c
|
7
|
+
data.tar.gz: 3839055fbd5ac8788d5f03c4290f6f59b97f2d0b7a0c60341701a41949e26781237720d884d39c80a250c965577f044a23f029343b7bde1792cb3586c5321556
|
@@ -1,14 +1,12 @@
|
|
1
1
|
name: Reporting-gem CI
|
2
2
|
|
3
3
|
on:
|
4
|
-
|
4
|
+
push:
|
5
5
|
workflow_dispatch:
|
6
6
|
schedule:
|
7
7
|
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
|
8
8
|
# 5 am UTC (11pm MDT the day before) every weekday night in MDT
|
9
9
|
- cron: '22 5 * * 2-6'
|
10
|
-
pull_request:
|
11
|
-
types: [review_requested]
|
12
10
|
|
13
11
|
env:
|
14
12
|
# This env var should enforce develop branch of all dependencies
|
@@ -21,21 +19,23 @@ jobs:
|
|
21
19
|
weeknight-tests:
|
22
20
|
runs-on: ubuntu-latest
|
23
21
|
container:
|
24
|
-
image: docker://nrel/openstudio:3.
|
22
|
+
image: docker://nrel/openstudio:3.9.0
|
25
23
|
steps:
|
26
24
|
- uses: actions/checkout@v4
|
27
25
|
- name: set git config options
|
28
26
|
shell: bash
|
29
|
-
run:
|
30
|
-
git config --global --add safe.directory '*'
|
27
|
+
run: git config --global --add safe.directory '*'
|
31
28
|
- name: Update gems
|
32
29
|
run: |
|
33
30
|
ruby --version
|
31
|
+
bundle install
|
34
32
|
bundle update
|
35
33
|
- name: List OpenStudio measures
|
36
34
|
run: bundle exec rake openstudio:list_measures
|
37
35
|
- name: Update OpenStudio measures
|
38
|
-
run:
|
36
|
+
run: |
|
37
|
+
bundle install
|
38
|
+
bundle exec rake openstudio:update_measures
|
39
39
|
- name: Test OpenStudio measures
|
40
40
|
run: bundle exec rake openstudio:test_with_openstudio
|
41
41
|
- name: Run Rspec
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,18 +1,37 @@
|
|
1
1
|
# URBANopt Reporting Gem
|
2
2
|
|
3
|
+
## Version 1.0.0
|
4
|
+
|
5
|
+
* Upgrade to OpenStudio 3.9 and Ruby 3.2.2 by @vtnate in https://github.com/urbanopt/urbanopt-reporting-gem/pull/155
|
6
|
+
|
7
|
+
**Full Changelog**: https://github.com/urbanopt/urbanopt-reporting-gem/compare/v0.10.1...v1.0.0
|
8
|
+
|
9
|
+
## Version 0.11.0
|
10
|
+
|
11
|
+
* Upgrade to OpenStudio 3.8 & Ruby 3.2 by @vtnate in https://github.com/urbanopt/urbanopt-reporting-gem/pull/154
|
12
|
+
|
13
|
+
**Full Changelog**: https://github.com/urbanopt/urbanopt-reporting-gem/compare/v0.10.1...v0.11.0
|
14
|
+
|
15
|
+
## Version 0.10.1
|
16
|
+
|
17
|
+
* Other Fuel emission factors update by @rawadelkontar in https://github.com/urbanopt/urbanopt-reporting-gem/pull/153
|
18
|
+
|
19
|
+
**Full Changelog**: https://github.com/urbanopt/urbanopt-reporting-gem/compare/v0.10.0...v0.10.1
|
20
|
+
|
3
21
|
## Version 0.10.0
|
4
|
-
|
22
|
+
|
5
23
|
* Additional reporting tests by @vtnate in https://github.com/urbanopt/urbanopt-reporting-gem/pull/147
|
6
24
|
* Update formatting and version in export_modelica_loads by @nllong in https://github.com/urbanopt/urbanopt-reporting-gem/pull/149
|
7
25
|
* Update feature reports for Reopt v3 by @vtnate in https://github.com/urbanopt/urbanopt-reporting-gem/pull/148
|
8
26
|
|
9
|
-
|
10
27
|
**Full Changelog**: https://github.com/urbanopt/urbanopt-reporting-gem/compare/v0.9.1...0.10.0
|
11
28
|
|
12
29
|
## Version 0.9.1
|
30
|
+
|
13
31
|
* downgrade json-schema to 2.7 by @vtnate in https://github.com/urbanopt/urbanopt-reporting-gem/pull/145
|
14
32
|
|
15
33
|
## Version 0.9.0
|
34
|
+
|
16
35
|
Date Range: 6/30/23 - 01/09/24
|
17
36
|
|
18
37
|
* Support OpenStudio 3.7 by @vtnate in https://github.com/urbanopt/urbanopt-reporting-gem/pull/142
|
@@ -23,155 +42,162 @@ Date Range: 6/30/23 - 01/09/24
|
|
23
42
|
* Update export modelica loads by @vtnate in https://github.com/urbanopt/urbanopt-reporting-gem/pull/143
|
24
43
|
|
25
44
|
## Version 0.8.0
|
45
|
+
|
26
46
|
Date Range: 12/12/22 - 6/30/23
|
27
47
|
|
28
|
-
|
29
|
-
|
30
|
-
|
48
|
+
* Added the `feature_location` argument in measure.xml
|
49
|
+
* Updated dependencies & CI for OpenStudio 3.6.1
|
50
|
+
* Updated license and references to the license file
|
31
51
|
|
32
52
|
## Version 0.7.0
|
33
|
-
Date Range: 08/18/22 - 12/12/22
|
34
53
|
|
35
|
-
|
36
|
-
- Fixed [#106]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/106 ), Update UO reporting schema to include DISCO outputs
|
37
|
-
- Fixed [#107]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/107 ), QAQC reporting rollup in feature report and scenario report
|
38
|
-
- Fixed [#127]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/127 ), Clean up log output to stdout
|
54
|
+
Date Range: 08/18/22 - 12/12/22
|
39
55
|
|
56
|
+
* Update Dependencies for OpenStudio 3.5.0
|
57
|
+
* Fixed [#106]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/106 ), Update UO reporting schema to include DISCO outputs
|
58
|
+
* Fixed [#107]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/107 ), QAQC reporting rollup in feature report and scenario report
|
59
|
+
* Fixed [#127]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/127 ), Clean up log output to stdout
|
40
60
|
|
41
61
|
## Version 0.6.2
|
62
|
+
|
42
63
|
Date Range: 06/28/22 - 08/17/22
|
43
64
|
|
44
|
-
|
45
|
-
|
65
|
+
* Fixed [#118]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/118 ), set up actions with coveralls
|
66
|
+
* Fixed [#119]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/119 ), emissions bug fix
|
46
67
|
|
47
68
|
## Version 0.6.1
|
69
|
+
|
48
70
|
Date Range: 05/10-22 - 06/27/22
|
49
71
|
|
50
|
-
|
72
|
+
* Fixed [#114]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/114 ), added natural gas, propane and fuel oil emissions reporting
|
51
73
|
|
52
74
|
## Version 0.6.0
|
75
|
+
|
53
76
|
Date Range: 11/22/21 - 05/09/22
|
54
77
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
78
|
+
* Fixed [#95]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/95 ), adding additional PV fields to UO output reports
|
79
|
+
* Fixed [#98]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/98 ), add RNM results fields to schema
|
80
|
+
* Fixed [#100]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/100 ), add EV charging control EMS timeseries outputs in default reports
|
81
|
+
* Fixed [#101]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/101 ), add reopt and opendss fields to reporting schema
|
82
|
+
* Fixed [#104]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/104 ), Add renewable pct to reporting output
|
83
|
+
* Fixed [#108]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/108 ), Adding emissions results to UO reports
|
61
84
|
|
62
85
|
## Version 0.5.0
|
86
|
+
|
63
87
|
Date Range: 11/13/21 - 11/22/21
|
64
88
|
|
65
|
-
|
89
|
+
* Updated dependencies for OpenStudio 3.3
|
66
90
|
|
67
91
|
## Version 0.4.3
|
92
|
+
|
68
93
|
Date Range: 10/16/21 - 11/12/21
|
69
94
|
|
70
|
-
|
95
|
+
* Fixed [#93]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/93 ), Fix aggregation of storage system typo
|
71
96
|
|
72
97
|
## Version 0.4.2
|
98
|
+
|
73
99
|
Date Range: 07/01/21 - 10/15/21
|
74
100
|
|
75
|
-
|
76
|
-
|
101
|
+
* Fixed [#86]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/86 ), Add location of PV to Scenario and Feature optimization reopt reports #86
|
102
|
+
* Fixed [#77]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/77 ), Fix test_with_openstudio model failures
|
77
103
|
|
78
104
|
## Version 0.4.1
|
105
|
+
|
79
106
|
Date Range: 04/27/23 - 07/01/21
|
80
107
|
|
81
|
-
|
108
|
+
* Fixed [#80](https://github.com/urbanopt/urbanopt-reporting-gem/issues/80), Update rubocop configs to v4
|
82
109
|
|
83
110
|
## Version 0.4.0
|
84
111
|
|
85
112
|
Date Range: 03/27/21 - 04/26/21
|
86
113
|
|
87
|
-
|
114
|
+
* Update dependencies for OpenStudio 3.2.0 and Ruby 2.7
|
88
115
|
|
89
116
|
## Version 0.3.7
|
90
117
|
|
91
118
|
Date Range: 02/12/21 - 03/26/21
|
92
119
|
|
93
|
-
|
94
|
-
|
95
|
-
|
120
|
+
* Fixed [#47]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/47 ), Default features report bugfixes and updates
|
121
|
+
* Fixed [#67]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/67 ), Update copyrights for 2021
|
122
|
+
* Fixed [#70]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/70 ), feature report bug fix
|
96
123
|
|
97
124
|
## Version 0.3.6
|
98
125
|
|
99
126
|
Date Range: 02/05/21 - 02/11/21
|
100
127
|
|
101
|
-
|
128
|
+
* Fixed [#64]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/64 ), EnergyPlus changed output fuel names in version 9.4
|
102
129
|
|
103
130
|
## Version 0.3.5
|
104
131
|
|
105
132
|
Date Range: 01/16/21 - 02/04/21
|
106
133
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
134
|
+
* Fixed [#58]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/58 ), Feature report saving bug fix.
|
135
|
+
* Fixed [#60]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/60 ), Added EV/ ExteriorEquipment results to csv and json reports
|
136
|
+
* Fixed [#61]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/61 ), Enhance the aggregation of enduses.
|
111
137
|
|
112
138
|
## Version 0.3.4
|
113
139
|
|
114
140
|
Date Range: 01/14/21 - 01/15/21
|
115
141
|
|
116
|
-
|
117
|
-
|
142
|
+
* Fixed [#53]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/53 ), Make subfolders in feature saving if necessary
|
143
|
+
* Fixed [#55]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/55 ), Fix new measures
|
118
144
|
|
119
145
|
## Version 0.3.3
|
120
146
|
|
121
147
|
Date Range: 12/09/20 - 01/13/21
|
122
148
|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
149
|
+
* Fixed [#36]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/36 ), Add reporting measure for district heating/cooling system mass flow rates
|
150
|
+
* Fixed [#37]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/37 ), Add EUI to default report
|
151
|
+
* Fixed [#38]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/38 ), Add better error handling around convert_units
|
152
|
+
* Fixed [#43]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/43 ), Add available_roof_area calculation
|
153
|
+
* Fixed [#44]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/44 ), Fix coordinates order
|
128
154
|
|
129
155
|
## Version 0.3.2
|
130
156
|
|
131
157
|
Date Range: 12/07/20 - 12/08/20
|
132
158
|
|
133
|
-
|
134
|
-
|
135
|
-
|
159
|
+
* Fixed [#27]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/27 ), reporting measure fails when there are no additional fuels in the model
|
160
|
+
* Fixed [#29]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/29 ), restore save_feature_report function for backward compatibility
|
161
|
+
* Fixed [#32]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/32 ), bump extension-gem dependency
|
136
162
|
|
137
163
|
## Version 0.3.1
|
138
164
|
|
139
165
|
Date Range: 11/26/2020 - 12/07/2020
|
140
166
|
|
141
|
-
|
142
|
-
|
143
|
-
|
167
|
+
* Fixed [#19]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/19 ), check for nil values to avoid crashing unit conversion
|
168
|
+
* Fixed [#24]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/24 ), Support reporting of other fuels
|
169
|
+
* Fixed [#28]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/28 ), fix for other_fuels being nil and restore save_feature_report function
|
144
170
|
|
145
171
|
## Version 0.3.0
|
146
172
|
|
147
173
|
Date Range: 11/12/2020 - 11/25/2020
|
148
174
|
|
149
|
-
|
175
|
+
* Updating dependencies to support OpenStudio 3.1.0
|
150
176
|
|
151
177
|
## Version 0.2.1
|
152
178
|
|
153
179
|
Date Range: 09/22/2020 - 11/12/2020
|
154
180
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
181
|
+
* Fixed [#12]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/12 ), add units to the json report attributes
|
182
|
+
* Fixed [#14]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/14 ), Add rdocs
|
183
|
+
* Fixed [#16]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/16 ), increase sidebar width to show class names
|
184
|
+
* Fixed [#18]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/18 ), measure: Handle nil values that crash OpenStudio.convert
|
185
|
+
* Fixed [#20]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/20 ), fixed saving csv results bug
|
160
186
|
|
161
187
|
## Version 0.2.0
|
162
188
|
|
163
189
|
Date Range: 08/27/2020 - 09/21/2020
|
164
190
|
|
165
|
-
|
166
|
-
|
167
|
-
|
191
|
+
* Fixed [#5]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/5 ), bug fixes related to REopt classes
|
192
|
+
* Fixed [#7]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/7 ), adding TM symbol
|
193
|
+
* Fixed [#8]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/8 ), New reopt results
|
168
194
|
|
169
195
|
## Version 0.1.1
|
170
196
|
|
171
197
|
08/26/2020
|
172
198
|
|
173
|
-
|
174
|
-
|
199
|
+
* Adding thermal storage reporting
|
200
|
+
* Fix paths for reporting and scenario gems split
|
175
201
|
|
176
202
|
## Version 0.1.0
|
177
203
|
|
data/Gemfile
CHANGED
@@ -11,13 +11,9 @@ gemspec
|
|
11
11
|
# checkout the latest version (develop) from github.
|
12
12
|
allow_local = ENV['FAVOR_LOCAL_GEMS']
|
13
13
|
|
14
|
-
# pin this dependency to avoid unicode_normalize error
|
15
|
-
gem 'addressable', '2.8.1'
|
16
|
-
# pin this dependency to avoid using racc dependency (which has native extensions)
|
17
|
-
gem 'parser', '3.2.2.2'
|
18
|
-
|
19
14
|
# if allow_local && File.exist?('../openstudio-extension-gem')
|
20
15
|
# gem 'openstudio-extension', path: '../openstudio-extension-gem'
|
21
16
|
# elsif allow_local
|
22
|
-
# gem 'openstudio-extension', github: 'NREL/openstudio-extension-gem', branch: '
|
17
|
+
# gem 'openstudio-extension', github: 'NREL/openstudio-extension-gem', branch: 'bundler-hack'
|
18
|
+
# gem 'openstudio-extension', '~> 0.8.1'
|
23
19
|
# end
|
@@ -542,7 +542,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
|
|
542
542
|
space_type_occupancy = {}
|
543
543
|
spaces.each do |space|
|
544
544
|
if space.spaceType.empty?
|
545
|
-
raise
|
545
|
+
raise "The #{space.name} spaceType is empty. Ensure all spaces have a space type"
|
546
546
|
else
|
547
547
|
building_type = space.spaceType.get.standardsBuildingType
|
548
548
|
end
|
@@ -798,7 +798,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
|
|
798
798
|
enduses.each do |eu|
|
799
799
|
sql_r = sql_query(runner, sql_file, 'AnnualBuildingUtilityPerformanceSummary', "TableName='End Uses' AND RowName='#{eu}' AND ColumnName='#{ft}'")
|
800
800
|
|
801
|
-
# report each query in its corresponding feature report
|
801
|
+
# report each query in its corresponding feature report object
|
802
802
|
x = ft.tr(' ', '_').downcase
|
803
803
|
if x.include? 'water'
|
804
804
|
x_u = "#{x}_qbft"
|
@@ -931,14 +931,16 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
|
|
931
931
|
conv_kg_mt = 0.001 # kg to metric ton
|
932
932
|
conv_kbtu_J = 1054852.32 # KBtu to J (1kBtu = 1054852.32 J)
|
933
933
|
|
934
|
-
##### Emisison factors for natural gas, propane, and fuel oil based on
|
935
|
-
##
|
936
|
-
##
|
937
|
-
##
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
934
|
+
##### Emisison factors for natural gas, propane, and fuel oil based on https://portfoliomanager.energystar.gov/pdf/reference/Emissions.pdf
|
935
|
+
## Emission factors are based on EPA eGRID data and calculated using a 100-year global warming potential (GWP) horizon based on ASHRAE 189.1
|
936
|
+
## natural gas : 181.7 KG/MWH
|
937
|
+
## propane : 219.2 KG/MWH
|
938
|
+
## Fuel oil #1: 250.8 KG/MWH
|
939
|
+
## Fuel oil #2: 253.2 KG/MWH
|
940
|
+
nat_gas_val = 181.7
|
941
|
+
lpg_val = 219.2
|
942
|
+
fo1_val = 250.8
|
943
|
+
fo2_val = 253.2
|
942
944
|
|
943
945
|
##########################################################################################################################
|
944
946
|
######################################## Reporting TImeseries Results FOR CSV File #######################################
|
@@ -1046,7 +1048,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
|
|
1046
1048
|
total_hours = 1 / timesteps_per_hour.to_f # make sure timesteps_per_hour is a float in the division
|
1047
1049
|
# set power_conversion
|
1048
1050
|
power_conversion = total_hours # we set the power conversio to total_hours since we want to convert lWh to kW
|
1049
|
-
puts "Power
|
1051
|
+
puts "Power Conversion: to convert kWh to kW values will be divided by #{power_conversion}"
|
1050
1052
|
|
1051
1053
|
# number of values in each timeseries
|
1052
1054
|
n = nil
|
@@ -1184,14 +1186,13 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
|
|
1184
1186
|
# conv_kg_mt = 0.001 # kg to metric ton
|
1185
1187
|
# conv_kbtu_J = 1054852.32 # KBtu to J (1kBtu = 1054852.32 J)
|
1186
1188
|
|
1187
|
-
# ##### Emisison factors for natural gas, propane, and fuel oil based on
|
1188
|
-
# ## natural gas :
|
1189
|
-
# ## propane :
|
1190
|
-
#
|
1191
|
-
#
|
1192
|
-
#
|
1193
|
-
#
|
1194
|
-
# fo2_val = 294.962046
|
1189
|
+
# ##### Emisison factors for natural gas, propane, and fuel oil based on https://portfoliomanager.energystar.gov/pdf/reference/Emissions.pdf
|
1190
|
+
# ## natural gas : 181.7 KG/MWH
|
1191
|
+
# ## propane : 219.2 KG/MWH
|
1192
|
+
# nat_gas_val = 181.7
|
1193
|
+
# lpg_val = 219.2
|
1194
|
+
# fo1_val = 250.8
|
1195
|
+
# fo2_val = 253.2
|
1195
1196
|
|
1196
1197
|
if timeseries_name == 'Natural_Gas_Emissions'
|
1197
1198
|
newVals = Array.new(n, 0)
|
@@ -1441,7 +1442,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
|
|
1441
1442
|
else
|
1442
1443
|
raise 'ELECTRICITY and GAS results are not initiaized'
|
1443
1444
|
end
|
1444
|
-
# get
|
1445
|
+
# get formatted datetimes
|
1445
1446
|
timeseries_d.dateTimes.each do |datetime|
|
1446
1447
|
datetimes << format_datetime(datetime.to_s)
|
1447
1448
|
end
|
@@ -3,8 +3,8 @@
|
|
3
3
|
<schema_version>3.1</schema_version>
|
4
4
|
<name>default_feature_reports</name>
|
5
5
|
<uid>9ee3135a-8070-4408-bfa1-b75fecf9dd4f</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>
|
6
|
+
<version_id>7864fba6-0915-4a17-ad41-3d2912856425</version_id>
|
7
|
+
<version_modified>2025-01-22T21:31:39Z</version_modified>
|
8
8
|
<xml_checksum>FB304155</xml_checksum>
|
9
9
|
<class_name>DefaultFeatureReports</class_name>
|
10
10
|
<display_name>DefaultFeatureReports</display_name>
|
@@ -128,7 +128,7 @@
|
|
128
128
|
<filename>measure.rb</filename>
|
129
129
|
<filetype>rb</filetype>
|
130
130
|
<usage_type>script</usage_type>
|
131
|
-
<checksum>
|
131
|
+
<checksum>EA7A7994</checksum>
|
132
132
|
</file>
|
133
133
|
<file>
|
134
134
|
<filename>USA_CO_Golden-NREL.724666_TMY3.epw</filename>
|
@@ -77,7 +77,7 @@ class ExportTimeSeriesLoadsCSV < OpenStudio::Measure::ReportingMeasure
|
|
77
77
|
# use the built-in error checking
|
78
78
|
return false unless runner.validateUserArguments(arguments(model), user_arguments)
|
79
79
|
|
80
|
-
# #Read in
|
80
|
+
# #Read in arguments related to variables for output requests
|
81
81
|
hhw_loop_name = runner.getStringArgumentValue('hhw_loop_name', user_arguments)
|
82
82
|
chw_loop_name = runner.getStringArgumentValue('chw_loop_name', user_arguments)
|
83
83
|
|
@@ -3,8 +3,8 @@
|
|
3
3
|
<schema_version>3.1</schema_version>
|
4
4
|
<name>export_time_series_loads_csv</name>
|
5
5
|
<uid>9fcf6116-c2eb-43d6-93f0-e1bdd822f768</uid>
|
6
|
-
<version_id>
|
7
|
-
<version_modified>2024-
|
6
|
+
<version_id>8bd4bc8e-f597-47f9-82b9-044a06977bb1</version_id>
|
7
|
+
<version_modified>2024-07-16T17:52:07Z</version_modified>
|
8
8
|
<xml_checksum>9BF1E6AC</xml_checksum>
|
9
9
|
<class_name>ExportTimeSeriesLoadsCSV</class_name>
|
10
10
|
<display_name>ExportTimeSeriesLoadsCSV</display_name>
|
@@ -111,7 +111,7 @@
|
|
111
111
|
<filename>measure.rb</filename>
|
112
112
|
<filetype>rb</filetype>
|
113
113
|
<usage_type>script</usage_type>
|
114
|
-
<checksum>
|
114
|
+
<checksum>EB4FBA91</checksum>
|
115
115
|
</file>
|
116
116
|
<file>
|
117
117
|
<filename>os_lib_helper_methods.rb</filename>
|
@@ -17,7 +17,7 @@ module URBANopt
|
|
17
17
|
attr_accessor :category, :item_name, :unit_cost, :cost_units, :item_quantity, :total_cost # :nodoc:
|
18
18
|
|
19
19
|
##
|
20
|
-
# ConstructionCost class
|
20
|
+
# ConstructionCost class initialize all construction_cost attributes:
|
21
21
|
# +:category+ , +:item_name+ , +:unit_cost+ , +:cost_units+ , +:item_quantity+ , +:total_cost+
|
22
22
|
##
|
23
23
|
# [parameters:]
|
@@ -108,7 +108,7 @@ module URBANopt
|
|
108
108
|
end
|
109
109
|
|
110
110
|
##
|
111
|
-
# Merges
|
111
|
+
# Merges multiple construction costs together.
|
112
112
|
# - loops over the new_costs and find the index of the cost with identical +:item_name+.
|
113
113
|
# - if +item_name+ is identical then modify the existing_cost array by summing the :total_cost and :item_quantity. Else add the new_cost to existing_costs array.
|
114
114
|
##
|
@@ -17,7 +17,7 @@ module URBANopt
|
|
17
17
|
:fans, :pumps, :heat_rejection, :humidification, :heat_recovery, :water_systems, :refrigeration, :generators # :nodoc:
|
18
18
|
|
19
19
|
##
|
20
|
-
# EndUse class
|
20
|
+
# EndUse class initialize all enduse attributes: +:heating+ , +:cooling+ , +:interior_lighting+ ,
|
21
21
|
# +:exterior_lighting+ , +:interior_equipment+ , +:exterior_equipment+ ,
|
22
22
|
# +:fans+ , +:pumps+ , +:heat_rejection+ , +:humidification+ , +:heat_recovery+ , +:water_systems+ , +:refrigeration+ , +:generators+
|
23
23
|
##
|
@@ -11,13 +11,13 @@ module URBANopt
|
|
11
11
|
module Reporting
|
12
12
|
module DefaultReports
|
13
13
|
##
|
14
|
-
# Enduses class
|
14
|
+
# Enduses class include results for each fuel type.
|
15
15
|
##
|
16
16
|
class EndUses
|
17
17
|
attr_accessor :electricity_kwh, :natural_gas_kwh, :propane_kwh, :fuel_oil_kwh, :other_fuels_kwh, :district_cooling_kwh, :district_heating_kwh, :water_qbft # :nodoc:
|
18
18
|
|
19
19
|
##
|
20
|
-
# EndUses class
|
20
|
+
# EndUses class initialize end_uses(fuel type) attributes: +:electricity_kwh+ , +:natural_gas_kwh+ , +:propane_kwh+ , +:fuel_oil_kwh+ , +:other_fuels_kwh+ ,
|
21
21
|
# +:district_cooling_kwh+ , +:district_heating_kwh+ , +:water_qbft+
|
22
22
|
##
|
23
23
|
# [parameters:]
|
@@ -297,7 +297,7 @@ module URBANopt
|
|
297
297
|
##
|
298
298
|
# Saves the 'default_feature_report.csv' file to the results directory
|
299
299
|
# This method only copies the CSV feature reports from the folder generated by the reporting measure
|
300
|
-
# (<
|
300
|
+
# (<measure number>_default_feature_reports/) to the new feature_reports/ folder
|
301
301
|
##
|
302
302
|
# [parameters]:
|
303
303
|
# +file_name+ - _String_ - Assign a name to the saved feature report file without an extension
|
@@ -19,11 +19,11 @@ module URBANopt
|
|
19
19
|
attr_accessor :size_kw
|
20
20
|
|
21
21
|
##
|
22
|
-
#
|
22
|
+
# Initialize Generator attributes from a hash. Generator attributes currently are limited to power capacity.
|
23
23
|
##
|
24
24
|
# [parameters:]
|
25
25
|
#
|
26
|
-
# * +hash+ - _Hash_ - A hash
|
26
|
+
# * +hash+ - _Hash_ - A hash containing a +:size_kw+ key/value pair which represents the nameplate capacity in kilowatts (kW)
|
27
27
|
#
|
28
28
|
def initialize(hash = {})
|
29
29
|
hash.delete_if { |k, v| v.nil? }
|
@@ -12,7 +12,7 @@ module URBANopt
|
|
12
12
|
|
13
13
|
@@logger.level = Logger::WARN
|
14
14
|
##
|
15
|
-
#
|
15
|
+
# Defining class variable "@@logger" to log errors, info and warning messages.
|
16
16
|
def self.logger
|
17
17
|
@@logger
|
18
18
|
end
|
@@ -12,7 +12,7 @@ module URBANopt
|
|
12
12
|
module Reporting
|
13
13
|
module DefaultReports
|
14
14
|
##
|
15
|
-
#
|
15
|
+
# power_distribution include eletrical power distribution systems information.
|
16
16
|
##
|
17
17
|
class PowerDistribution
|
18
18
|
attr_accessor :under_voltage_hours, :over_voltage_hours, :nominal_capacity,
|
@@ -89,7 +89,7 @@ module URBANopt
|
|
89
89
|
end
|
90
90
|
|
91
91
|
##
|
92
|
-
# Merges
|
92
|
+
# Merges multiple power distribution results together.
|
93
93
|
##
|
94
94
|
# +new_costs+ - _Array_ - An array of ConstructionCost objects.
|
95
95
|
def merge_power_distribution
|
@@ -33,7 +33,7 @@ module URBANopt
|
|
33
33
|
:timeseries_csv, :location, :program, :construction_costs, :reporting_periods, :feature_reports, :distributed_generation,
|
34
34
|
:scenario_power_distribution, :scenario_power_distribution_cost, :qaqc_flags # :nodoc:
|
35
35
|
|
36
|
-
# ScenarioReport class
|
36
|
+
# ScenarioReport class initializes the scenario report attributes:
|
37
37
|
# +:id+ , +:name+ , +:directory_name+, +:timesteps_per_hour+ , +:number_of_not_started_simulations+ ,
|
38
38
|
# +:number_of_started_simulations+ , +:number_of_complete_simulations+ , +:number_of_failed_simulations+ ,
|
39
39
|
# +:timeseries_csv+ , +:location+ , +:program+ , +:construction_costs+ , +:reporting_periods+ , +:feature_reports+,
|
@@ -74,7 +74,7 @@ module URBANopt
|
|
74
74
|
@reporting_periods << ReportingPeriod.new(rp)
|
75
75
|
end
|
76
76
|
|
77
|
-
# feature_report is
|
77
|
+
# feature_report is initialized here to be used in the add_feature_report method
|
78
78
|
@feature_reports = []
|
79
79
|
hash[:feature_reports].each do |fr|
|
80
80
|
@feature_reports << FeatureReport.new(fr)
|
@@ -246,7 +246,7 @@ module URBANopt
|
|
246
246
|
# - add the array of feature_reports
|
247
247
|
# - scenario report location takes the location of the first feature in the list
|
248
248
|
##
|
249
|
-
# [
|
249
|
+
# [parameters:]
|
250
250
|
# +feature_report+ - _FeatureReport_ - An object of FeatureReport class.
|
251
251
|
##
|
252
252
|
def add_feature_report(feature_report)
|
@@ -719,7 +719,7 @@
|
|
719
719
|
]
|
720
720
|
},
|
721
721
|
"simultaneous_heating_and_cooling": {
|
722
|
-
"description": "Whether heating and cooling are
|
722
|
+
"description": "Whether heating and cooling are occurring during the same hour when cooling load exists",
|
723
723
|
"type": [
|
724
724
|
"integer",
|
725
725
|
"null"
|
@@ -784,7 +784,7 @@
|
|
784
784
|
"type": "string"
|
785
785
|
},
|
786
786
|
"name": {
|
787
|
-
"description": "name refers to the name of the feature (eg. Building 1,
|
787
|
+
"description": "name refers to the name of the feature (eg. Building 1, transformer 5)",
|
788
788
|
"type": "string"
|
789
789
|
},
|
790
790
|
"directory_name": {
|
@@ -870,7 +870,7 @@
|
|
870
870
|
"type": "string"
|
871
871
|
},
|
872
872
|
"multiplier": {
|
873
|
-
"description": "Multiplier used if this reporting period is representative of
|
873
|
+
"description": "Multiplier used if this reporting period is representative of multiple periods. For example one week simulation that represents entire month.",
|
874
874
|
"type": "number",
|
875
875
|
"default": 1
|
876
876
|
},
|
@@ -24,7 +24,7 @@ module URBANopt
|
|
24
24
|
##
|
25
25
|
# [parameters:]
|
26
26
|
#
|
27
|
-
# * +hash+ - _Hash_ - A hash
|
27
|
+
# * +hash+ - _Hash_ - A hash containing a +:size_kw+ key/value pair which represents the nameplate capacity in kilowatts (kW)
|
28
28
|
#
|
29
29
|
def initialize(hash = {})
|
30
30
|
hash.delete_if { |k, v| v.nil? }
|
@@ -28,7 +28,7 @@ module URBANopt
|
|
28
28
|
##
|
29
29
|
# [parameters:]
|
30
30
|
#
|
31
|
-
# * +hash+ - _Hash_ - A hash
|
31
|
+
# * +hash+ - _Hash_ - A hash containing +:size_kw+ and +:size_kwh+ key/value pair which represents the power and storage capacity in kilowatts (kW) and kilowatt-hours respectively.
|
32
32
|
#
|
33
33
|
def initialize(hash = {})
|
34
34
|
hash.delete_if { |k, v| v.nil? }
|
@@ -14,7 +14,7 @@ module URBANopt
|
|
14
14
|
module Reporting
|
15
15
|
module DefaultReports
|
16
16
|
##
|
17
|
-
# TimeseriesCSV include timesries
|
17
|
+
# TimeseriesCSV include timesries results reported in a CSV file.
|
18
18
|
##
|
19
19
|
class TimeseriesCSV
|
20
20
|
attr_accessor :path, :first_report_datetime, :column_names #:nodoc:
|
@@ -33,7 +33,7 @@ module URBANopt
|
|
33
33
|
@path = hash[:path]
|
34
34
|
@first_report_datetime = hash[:first_report_datetime]
|
35
35
|
|
36
|
-
# from scenario csv shema get required
|
36
|
+
# from scenario csv shema get required results to be aggregated
|
37
37
|
@required_column_names = load_scenario_csv_schema_headers
|
38
38
|
|
39
39
|
@column_names = hash[:column_names]
|
@@ -23,7 +23,7 @@ module URBANopt
|
|
23
23
|
##
|
24
24
|
# [parameters:]
|
25
25
|
#
|
26
|
-
# * +hash+ - _Hash_ - A hash
|
26
|
+
# * +hash+ - _Hash_ - A hash containing a +:size_kw+ key/value pair which represents the nameplate capacity in kilowatts (kW)
|
27
27
|
#
|
28
28
|
def initialize(hash = {})
|
29
29
|
hash.delete_if { |k, v| v.nil? }
|
@@ -21,15 +21,15 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.bindir = 'exe'
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
|
-
|
24
|
+
# We support exactly Ruby v3.2.2 because os-extension requires bundler==2.4.10 and that requires Ruby 3.2.2: https://stdgems.org/bundler/
|
25
|
+
# It would be nice to be able to use newer patches of Ruby 3.2, which would require os-extension to relax its dependency on bundler.
|
26
|
+
spec.required_ruby_version = '3.2.2'
|
25
27
|
|
26
|
-
spec.add_development_dependency '
|
27
|
-
spec.add_development_dependency '
|
28
|
-
spec.add_development_dependency '
|
29
|
-
spec.add_development_dependency 'simplecov', '~> 0.18.2'
|
30
|
-
spec.add_development_dependency 'simplecov-lcov', '~> 0.8.0'
|
28
|
+
spec.add_development_dependency 'rspec', '~> 3.13'
|
29
|
+
spec.add_development_dependency 'simplecov', '0.22.0'
|
30
|
+
spec.add_development_dependency 'simplecov-lcov', '0.8.0'
|
31
31
|
|
32
|
-
spec.add_runtime_dependency 'json_pure', '~> 2.
|
33
|
-
spec.add_runtime_dependency 'json-schema', '~>
|
34
|
-
spec.add_dependency 'openstudio-extension', '~> 0.
|
32
|
+
spec.add_runtime_dependency 'json_pure', '~> 2.7'
|
33
|
+
spec.add_runtime_dependency 'json-schema', '~> 4.3.1'
|
34
|
+
spec.add_dependency 'openstudio-extension', '~> 0.8.3'
|
35
35
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: urbanopt-reporting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rawad El Kontar
|
@@ -9,76 +9,48 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2025-01-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: bundler
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - "~>"
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '2.1'
|
21
|
-
type: :development
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - "~>"
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: '2.1'
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: rake
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - "~>"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: '13.1'
|
35
|
-
type: :development
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '13.1'
|
42
14
|
- !ruby/object:Gem::Dependency
|
43
15
|
name: rspec
|
44
16
|
requirement: !ruby/object:Gem::Requirement
|
45
17
|
requirements:
|
46
18
|
- - "~>"
|
47
19
|
- !ruby/object:Gem::Version
|
48
|
-
version: '3.
|
20
|
+
version: '3.13'
|
49
21
|
type: :development
|
50
22
|
prerelease: false
|
51
23
|
version_requirements: !ruby/object:Gem::Requirement
|
52
24
|
requirements:
|
53
25
|
- - "~>"
|
54
26
|
- !ruby/object:Gem::Version
|
55
|
-
version: '3.
|
27
|
+
version: '3.13'
|
56
28
|
- !ruby/object:Gem::Dependency
|
57
29
|
name: simplecov
|
58
30
|
requirement: !ruby/object:Gem::Requirement
|
59
31
|
requirements:
|
60
|
-
- -
|
32
|
+
- - '='
|
61
33
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
34
|
+
version: 0.22.0
|
63
35
|
type: :development
|
64
36
|
prerelease: false
|
65
37
|
version_requirements: !ruby/object:Gem::Requirement
|
66
38
|
requirements:
|
67
|
-
- -
|
39
|
+
- - '='
|
68
40
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
41
|
+
version: 0.22.0
|
70
42
|
- !ruby/object:Gem::Dependency
|
71
43
|
name: simplecov-lcov
|
72
44
|
requirement: !ruby/object:Gem::Requirement
|
73
45
|
requirements:
|
74
|
-
- -
|
46
|
+
- - '='
|
75
47
|
- !ruby/object:Gem::Version
|
76
48
|
version: 0.8.0
|
77
49
|
type: :development
|
78
50
|
prerelease: false
|
79
51
|
version_requirements: !ruby/object:Gem::Requirement
|
80
52
|
requirements:
|
81
|
-
- -
|
53
|
+
- - '='
|
82
54
|
- !ruby/object:Gem::Version
|
83
55
|
version: 0.8.0
|
84
56
|
- !ruby/object:Gem::Dependency
|
@@ -87,42 +59,42 @@ dependencies:
|
|
87
59
|
requirements:
|
88
60
|
- - "~>"
|
89
61
|
- !ruby/object:Gem::Version
|
90
|
-
version: '2.
|
62
|
+
version: '2.7'
|
91
63
|
type: :runtime
|
92
64
|
prerelease: false
|
93
65
|
version_requirements: !ruby/object:Gem::Requirement
|
94
66
|
requirements:
|
95
67
|
- - "~>"
|
96
68
|
- !ruby/object:Gem::Version
|
97
|
-
version: '2.
|
69
|
+
version: '2.7'
|
98
70
|
- !ruby/object:Gem::Dependency
|
99
71
|
name: json-schema
|
100
72
|
requirement: !ruby/object:Gem::Requirement
|
101
73
|
requirements:
|
102
74
|
- - "~>"
|
103
75
|
- !ruby/object:Gem::Version
|
104
|
-
version:
|
76
|
+
version: 4.3.1
|
105
77
|
type: :runtime
|
106
78
|
prerelease: false
|
107
79
|
version_requirements: !ruby/object:Gem::Requirement
|
108
80
|
requirements:
|
109
81
|
- - "~>"
|
110
82
|
- !ruby/object:Gem::Version
|
111
|
-
version:
|
83
|
+
version: 4.3.1
|
112
84
|
- !ruby/object:Gem::Dependency
|
113
85
|
name: openstudio-extension
|
114
86
|
requirement: !ruby/object:Gem::Requirement
|
115
87
|
requirements:
|
116
88
|
- - "~>"
|
117
89
|
- !ruby/object:Gem::Version
|
118
|
-
version: 0.
|
90
|
+
version: 0.8.3
|
119
91
|
type: :runtime
|
120
92
|
prerelease: false
|
121
93
|
version_requirements: !ruby/object:Gem::Requirement
|
122
94
|
requirements:
|
123
95
|
- - "~>"
|
124
96
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.
|
97
|
+
version: 0.8.3
|
126
98
|
description: Library include scenario default reporting measure and scenario defaults
|
127
99
|
reports schema and classes
|
128
100
|
email:
|
@@ -229,16 +201,16 @@ require_paths:
|
|
229
201
|
- lib
|
230
202
|
required_ruby_version: !ruby/object:Gem::Requirement
|
231
203
|
requirements:
|
232
|
-
- -
|
204
|
+
- - '='
|
233
205
|
- !ruby/object:Gem::Version
|
234
|
-
version: 2.
|
206
|
+
version: 3.2.2
|
235
207
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
236
208
|
requirements:
|
237
209
|
- - ">="
|
238
210
|
- !ruby/object:Gem::Version
|
239
211
|
version: '0'
|
240
212
|
requirements: []
|
241
|
-
rubygems_version: 3.
|
213
|
+
rubygems_version: 3.4.10
|
242
214
|
signing_key:
|
243
215
|
specification_version: 4
|
244
216
|
summary: Library to report URBANopt results
|