urbanopt-reporting 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/CONTRIBUTING.md +1 -1
  4. data/LICENSE.md +1 -1
  5. data/README.md +1 -1
  6. data/Rakefile +1 -1
  7. data/doc_templates/LICENSE.md +1 -1
  8. data/doc_templates/copyright_erb.txt +1 -1
  9. data/doc_templates/copyright_js.txt +1 -1
  10. data/doc_templates/copyright_ruby.txt +1 -1
  11. data/lib/measures/default_feature_reports/LICENSE.md +1 -1
  12. data/lib/measures/default_feature_reports/measure.rb +1 -1
  13. data/lib/measures/default_feature_reports/measure.xml +5 -5
  14. data/lib/urbanopt/reporting.rb +1 -1
  15. data/lib/urbanopt/reporting/default_reports.rb +1 -1
  16. data/lib/urbanopt/reporting/default_reports/construction_cost.rb +1 -1
  17. data/lib/urbanopt/reporting/default_reports/date.rb +1 -1
  18. data/lib/urbanopt/reporting/default_reports/distributed_generation.rb +119 -6
  19. data/lib/urbanopt/reporting/default_reports/end_use.rb +1 -1
  20. data/lib/urbanopt/reporting/default_reports/end_uses.rb +1 -1
  21. data/lib/urbanopt/reporting/default_reports/extension.rb +30 -0
  22. data/lib/urbanopt/reporting/default_reports/feature_report.rb +1 -1
  23. data/lib/urbanopt/reporting/default_reports/generator.rb +2 -2
  24. data/lib/urbanopt/reporting/default_reports/location.rb +1 -1
  25. data/lib/urbanopt/reporting/default_reports/logger.rb +1 -1
  26. data/lib/urbanopt/reporting/default_reports/power_distribution.rb +1 -1
  27. data/lib/urbanopt/reporting/default_reports/program.rb +1 -1
  28. data/lib/urbanopt/reporting/default_reports/reporting_period.rb +1 -1
  29. data/lib/urbanopt/reporting/default_reports/scenario_report.rb +1 -1
  30. data/lib/urbanopt/reporting/default_reports/schema/README.md +1 -1
  31. data/lib/urbanopt/reporting/default_reports/solar_pv.rb +2 -2
  32. data/lib/urbanopt/reporting/default_reports/storage.rb +2 -2
  33. data/lib/urbanopt/reporting/default_reports/thermal_storage.rb +1 -1
  34. data/lib/urbanopt/reporting/default_reports/timeseries_csv.rb +1 -1
  35. data/lib/urbanopt/reporting/default_reports/validator.rb +1 -1
  36. data/lib/urbanopt/reporting/default_reports/wind.rb +2 -2
  37. data/lib/urbanopt/reporting/derived_extension.rb +1 -1
  38. data/lib/urbanopt/reporting/version.rb +2 -2
  39. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eae158ffc7f5239454037c578719bc38263a2991b0597ea1654ff682c875dbf0
4
- data.tar.gz: 83f93741c0f85426fd02132cc57c245b1f38967f1e4f02712447c8c0ad8e4ca6
3
+ metadata.gz: 53410c5daefdd7322955c0b119ada5893529245e998f1ec0ffbbf64f334b84b9
4
+ data.tar.gz: 42f2b15c5066b90a5cf918feb952d5600c85fc1e94a26e7e80568dc6202f1dd4
5
5
  SHA512:
6
- metadata.gz: ffcc7a5f81d1bc56569a74cfecfc14593125faacede9f5e52256a568392eec8cb0a8e02d0ba2ce4ae3f9d4d52f7d00cf60720f30d7d66b2a8d38dcef898e0cac
7
- data.tar.gz: 685fcf61b239616865a48b4cdf1f3179f246b07fceeed4be9f240dee44eefba3fac32b4b52afeb564675873a5bef5eb72a60a3b64b411e151b21eb7b5423ba5b
6
+ metadata.gz: 629ffff759847e872d0f001bba37a21482576a22c9e700aa2f735c5432caa9325be56ae2bd060e4c65c275e963f8ceed377174c028679b661378ca57756829dd
7
+ data.tar.gz: ed478479d7c6c099be7249f3e38153e56542e6231e903ca64fe44f45a2bb1b845323c76949828802b57a3b2b05ea86d7010532dd2c0eb70479613944a7e7a161
@@ -1,5 +1,13 @@
1
1
  # URBANopt Reporting Gem
2
2
 
3
+ ## Version 0.2.0
4
+
5
+ Date Range: 08/27/2020 - 09/21/2020
6
+
7
+ - Fixed [#5]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/5 ), bug fixes related to REopt classes
8
+ - Fixed [#7]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/7 ), adding TM symbol
9
+ - Fixed [#8]( https://github.com/urbanopt/urbanopt-reporting-gem/pull/8 ), New reopt results
10
+
3
11
  ## Version 0.1.1
4
12
 
5
13
  08/26/2020
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Version 1.0
4
4
 
5
- The URBANopt team welcomes your contribution to the project. You can contribute to the URBANopt project in several ways: by using the software, reporting issues, contributing documentation, or contributing code back to the project. The GitHub [Contributing to Open Source](https://opensource.guide/how-to-contribute/) guide provides a good overview. If you contribute code, you agree that your contribution may be incorporated into the URBANopt Software Development Kit (SDK) and made available under the URBANopt SDK license.
5
+ The URBANopt<sup>&trade;</sup> team welcomes your contribution to the project. You can contribute to the URBANopt project in several ways: by using the software, reporting issues, contributing documentation, or contributing code back to the project. The GitHub [Contributing to Open Source](https://opensource.guide/how-to-contribute/) guide provides a good overview. If you contribute code, you agree that your contribution may be incorporated into the URBANopt Software Development Kit (SDK) and made available under the URBANopt SDK license.
6
6
 
7
7
  The contribution process for URBANopt is composed of three steps:
8
8
 
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt<sup>&trade;</sup>, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
2
  contributors. All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # URBANopt Reporting Gem
2
2
 
3
- The URBANopt Reporting Gem defines the URABNopt reports (Scenario and Feature reports). It also includes the default reporting measure which query results from the energyplus sql database and reports it in the Feature reports.
3
+ The URBANopt<sup>&trade;</sup> Reporting Gem defines the URABNopt reports (Scenario and Feature reports). It also includes the default reporting measure which query results from the energyplus sql database and reports it in the Feature reports.
4
4
 
5
5
 
6
6
  [RDoc Documentation](https://urbanopt.github.io/urbanopt-reporting-gem/)
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,4 +1,4 @@
1
- URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
2
  contributors. All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
@@ -1,6 +1,6 @@
1
1
  <%
2
2
  # *********************************************************************************
3
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
+ # URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
4
4
  # contributors. All rights reserved.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,4 +1,4 @@
1
1
  /* @preserve
2
- * URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other contributors. All rights reserved.
2
+ * URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other contributors. All rights reserved.
3
3
  * Use of this source code is governed by the BSD 3-Clause license.
4
4
  */
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,4 +1,4 @@
1
- URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
2
  contributors. All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt™, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>default_feature_reports</name>
5
5
  <uid>9ee3135a-8070-4408-bfa1-b75fecf9dd4f</uid>
6
- <version_id>95706c7a-88ab-433b-b897-00435181a6dd</version_id>
7
- <version_modified>20200603T001228Z</version_modified>
6
+ <version_id>1f4eb28d-d586-4c10-8d23-f3495054ce1e</version_id>
7
+ <version_modified>20200921T204602Z</version_modified>
8
8
  <xml_checksum>FB304155</xml_checksum>
9
9
  <class_name>DefaultFeatureReports</class_name>
10
10
  <display_name>DefaultFeatureReports</display_name>
@@ -130,13 +130,13 @@
130
130
  <filename>LICENSE.md</filename>
131
131
  <filetype>md</filetype>
132
132
  <usage_type>license</usage_type>
133
- <checksum>EA283B74</checksum>
133
+ <checksum>D8541540</checksum>
134
134
  </file>
135
135
  <file>
136
136
  <filename>default_feature_reports_test.rb</filename>
137
137
  <filetype>rb</filetype>
138
138
  <usage_type>test</usage_type>
139
- <checksum>56E0804B</checksum>
139
+ <checksum>A5706600</checksum>
140
140
  </file>
141
141
  <file>
142
142
  <version>
@@ -147,7 +147,7 @@
147
147
  <filename>measure.rb</filename>
148
148
  <filetype>rb</filetype>
149
149
  <usage_type>script</usage_type>
150
- <checksum>A00C8077</checksum>
150
+ <checksum>3C7B646E</checksum>
151
151
  </file>
152
152
  <file>
153
153
  <filename>README.md</filename>
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -29,10 +29,10 @@
29
29
  # *********************************************************************************
30
30
 
31
31
  require 'json'
32
- require_relative 'solar_pv'
33
- require_relative 'wind'
34
- require_relative 'generator'
35
- require_relative 'storage'
32
+ require 'urbanopt/reporting/default_reports/solar_pv'
33
+ require 'urbanopt/reporting/default_reports/wind'
34
+ require 'urbanopt/reporting/default_reports/generator'
35
+ require 'urbanopt/reporting/default_reports/storage'
36
36
  require 'json-schema'
37
37
 
38
38
  module URBANopt
@@ -47,6 +47,11 @@ module URBANopt
47
47
  #
48
48
  attr_accessor :lcc_us_dollars
49
49
 
50
+ ##
51
+ # _Float_ - Lifecycle costs for the complete distributed generation system in US Dollars
52
+ #
53
+ attr_accessor :lcc_bau_us_dollars
54
+
50
55
  ##
51
56
  # _Float_ - Net present value of the complete distributed generation system in US Dollars
52
57
  #
@@ -68,10 +73,40 @@ module URBANopt
68
73
  attr_accessor :year_one_bill_us_dollars
69
74
 
70
75
  ##
71
- # _Float_ - Total amount paid to the utility in US Dollars over the life of the system
76
+ # _Float_ - Total energy costs in US Dollars over the life of the system after tax
72
77
  #
73
78
  attr_accessor :total_energy_cost_us_dollars
74
79
 
80
+ ##
81
+ # _Float_ - Total demand costs in US Dollars over the life of the system after tax
82
+ #
83
+ attr_accessor :total_demand_cost_us_dollars
84
+
85
+ ##
86
+ # _Float_ - Year one energy cost in the business as usual scenario (i.e no new system) after tax, us dollars
87
+ #
88
+ attr_accessor :year_one_energy_cost_bau_us_dollars
89
+
90
+ ##
91
+ # _Float_ - Year one demand cost in the business as usual scenario (i.e no new system), us dollars
92
+ #
93
+ attr_accessor :year_one_demand_cost_bau_us_dollars
94
+
95
+ ##
96
+ # _Float_ - Year one demand energy bill in the business as usual scenario (i.e no new system), us dollars
97
+ #
98
+ attr_accessor :year_one_bill_bau_us_dollars
99
+
100
+ ##
101
+ # _Float_ - Total lifetime demand costs in the business as usual scenario (i.e no new system) after tax, us dollars
102
+ #
103
+ attr_accessor :total_demand_cost_bau_us_dollars
104
+
105
+ ##
106
+ # _Float_ - Total lifetime energy costs in the business as usual scenario (i.e no new system) after tax, us dollars
107
+ #
108
+ attr_accessor :total_energy_cost_bau_us_dollars
109
+
75
110
  ##
76
111
  # _Array_ - List of _SolarPV_ systems
77
112
  #
@@ -117,6 +152,36 @@ module URBANopt
117
152
  #
118
153
  attr_accessor :total_generator_kw
119
154
 
155
+ ##
156
+ # _Float_ - Minimum hour the system can support critical load during a grid outage
157
+ #
158
+ attr_accessor :resilience_hours_min
159
+
160
+ ##
161
+ # _Float_ - Maximum hour the system can support critical load during a grid outage
162
+ #
163
+ attr_accessor :resilience_hours_max
164
+
165
+ ##
166
+ # _Float_ - Average hour the system can support critical load during a grid outage
167
+ #
168
+ attr_accessor :resilience_hours_avg
169
+
170
+ ##
171
+ # _Float_ - Average probability the system can sustain critical load during a grid outage
172
+ #
173
+ attr_accessor :probs_of_surviving
174
+
175
+ ##
176
+ # _Float_ - Average monthly probabiliies that the system can sustain critical load during a grid outage
177
+ #
178
+ attr_accessor :probs_of_surviving_by_month
179
+
180
+ ##
181
+ # _Float_ - Average hourly probabiliies that the system can sustain critical load during a grid outage
182
+ #
183
+ attr_accessor :probs_of_surviving_by_hour_of_the_day
184
+
120
185
  ##
121
186
  # Initialize distributed generation system design and financial metrics.
122
187
  #
@@ -132,11 +197,25 @@ module URBANopt
132
197
  hash.delete_if { |k, v| v.nil? }
133
198
 
134
199
  @lcc_us_dollars = hash[:lcc_us_dollars]
200
+ @lcc_bau_us_dollars = hash[:lcc_bau_us_dollars]
135
201
  @npv_us_dollars = hash[:npv_us_dollars]
136
202
  @year_one_energy_cost_us_dollars = hash[:year_one_energy_cost_us_dollars]
203
+ @year_one_energy_cost_bau_us_dollars = hash[:year_one_energy_cost_bau_us_dollars]
137
204
  @year_one_demand_cost_us_dollars = hash[:year_one_demand_cost_us_dollars]
205
+ @year_one_demand_cost_bau_us_dollars = hash[:year_one_demand_cost_bau_us_dollars]
138
206
  @year_one_bill_us_dollars = hash[:year_one_bill_us_dollars]
207
+ @year_one_bill_bau_us_dollars = hash[:year_one_bill_bau_us_dollars]
139
208
  @total_energy_cost_us_dollars = hash[:total_energy_cost_us_dollars]
209
+ @total_energy_cost_bau_us_dollars = hash[:total_energy_cost_bau_us_dollars]
210
+ @total_demand_cost_us_dollars = hash[:total_demand_cost_us_dollars]
211
+ @total_demand_cost_bau_us_dollars = hash[:total_demand_cost_bau_us_dollars]
212
+
213
+ @resilience_hours_min = hash[:resilience_hours_min]
214
+ @resilience_hours_max = hash[:resilience_hours_max]
215
+ @resilience_hours_avg = hash[:resilience_hours_avg]
216
+ @probs_of_surviving = hash[:probs_of_surviving]
217
+ @probs_of_surviving_by_month = hash[:probs_of_surviving_by_month]
218
+ @probs_of_surviving_by_hour_of_the_day = hash[:probs_of_surviving_by_hour_of_the_day]
140
219
 
141
220
  @total_solar_pv_kw = nil
142
221
  @total_wind_kw = nil
@@ -276,16 +355,34 @@ module URBANopt
276
355
  result = {}
277
356
 
278
357
  result[:lcc_us_dollars] = @lcc_us_dollars if @lcc_us_dollars
358
+ result[:lcc_bau_us_dollars] = @lcc_bau_us_dollars if @lcc_bau_us_dollars
279
359
  result[:npv_us_dollars] = @npv_us_dollars if @npv_us_dollars
360
+
280
361
  result[:year_one_energy_cost_us_dollars] = @year_one_energy_cost_us_dollars if @year_one_energy_cost_us_dollars
281
362
  result[:year_one_demand_cost_us_dollars] = @year_one_demand_cost_us_dollars if @year_one_demand_cost_us_dollars
282
363
  result[:year_one_bill_us_dollars] = @year_one_bill_us_dollars if @year_one_bill_us_dollars
364
+ result[:total_demand_cost_us_dollars] = @total_demand_cost_us_dollars if @total_demand_cost_us_dollars
365
+ result[:total_energy_cost_us_dollars] = @total_energy_cost_us_dollars if @total_energy_cost_us_dollars
366
+
367
+ result[:year_one_energy_cost_bau_us_dollars] = @year_one_energy_cost_bau_us_dollars if @year_one_energy_cost_bau_us_dollars
368
+ result[:year_one_demand_cost_bau_us_dollars] = @year_one_demand_cost_bau_us_dollars if @year_one_demand_cost_bau_us_dollars
369
+ result[:year_one_bill_bau_us_dollars] = @year_one_bill_bau_us_dollars if @year_one_bill_bau_us_dollars
370
+ result[:total_energy_cost_bau_us_dollars] = @total_energy_cost_bau_us_dollars if @total_energy_cost_bau_us_dollars
371
+ result[:total_demand_cost_bau_us_dollars] = @total_demand_cost_bau_us_dollars if @total_demand_cost_bau_us_dollars
372
+
283
373
  result[:total_solar_pv_kw] = @total_solar_pv_kw if @total_solar_pv_kw
284
374
  result[:total_wind_kw] = @total_wind_kw if @total_wind_kw
285
375
  result[:total_generator_kw] = @total_generator_kw if @total_generator_kw
286
376
  result[:total_storage_kw] = @total_storage_kw if @total_storage_kw
287
377
  result[:total_storage_kwh] = @total_storage_kwh if @total_storage_kwh
288
378
 
379
+ result[:resilience_hours_min] = @resilience_hours_min if @resilience_hours_min
380
+ result[:resilience_hours_max] = @resilience_hours_max if @resilience_hours_max
381
+ result[:resilience_hours_avg] = @resilience_hours_avg if @resilience_hours_avg
382
+ result[:probs_of_surviving] = @probs_of_surviving if @probs_of_surviving
383
+ result[:probs_of_surviving_by_month] = @probs_of_surviving_by_month if @probs_of_surviving_by_month
384
+ result[:probs_of_surviving_by_hour_of_the_day] = @probs_of_surviving_by_hour_of_the_day if @probs_of_surviving_by_hour_of_the_day
385
+
289
386
  result[:solar_pv] = []
290
387
  @solar_pv.each do |pv|
291
388
  result[:solar_pv].push pv.to_hash
@@ -327,11 +424,27 @@ module URBANopt
327
424
  ##
328
425
  def self.merge_distributed_generation(existing_dgen, new_dgen)
329
426
  existing_dgen.lcc_us_dollars = add_values(existing_dgen.lcc_us_dollars, new_dgen.lcc_us_dollars)
427
+ existing_dgen.lcc_bau_us_dollars = add_values(existing_dgen.lcc_bau_us_dollars, new_dgen.lcc_bau_us_dollars)
330
428
  existing_dgen.npv_us_dollars = add_values(existing_dgen.npv_us_dollars, new_dgen.npv_us_dollars)
429
+
331
430
  existing_dgen.year_one_energy_cost_us_dollars = add_values(existing_dgen.year_one_energy_cost_us_dollars, new_dgen.year_one_energy_cost_us_dollars)
332
431
  existing_dgen.year_one_demand_cost_us_dollars = add_values(existing_dgen.year_one_demand_cost_us_dollars, new_dgen.year_one_demand_cost_us_dollars)
333
432
  existing_dgen.year_one_bill_us_dollars = add_values(existing_dgen.year_one_bill_us_dollars, new_dgen.year_one_bill_us_dollars)
334
433
  existing_dgen.total_energy_cost_us_dollars = add_values(existing_dgen.total_energy_cost_us_dollars, new_dgen.total_energy_cost_us_dollars)
434
+ existing_dgen.total_demand_cost_us_dollars = add_values(existing_dgen.total_demand_cost_us_dollars, new_dgen.total_demand_cost_us_dollars)
435
+
436
+ existing_dgen.year_one_energy_cost_bau_us_dollars = add_values(existing_dgen.year_one_energy_cost_bau_us_dollars, new_dgen.year_one_energy_cost_bau_us_dollars)
437
+ existing_dgen.year_one_demand_cost_bau_us_dollars = add_values(existing_dgen.year_one_demand_cost_bau_us_dollars, new_dgen.year_one_demand_cost_bau_us_dollars)
438
+ existing_dgen.year_one_bill_bau_us_dollars = add_values(existing_dgen.year_one_bill_bau_us_dollars, new_dgen.year_one_bill_bau_us_dollars)
439
+ existing_dgen.total_energy_cost_bau_us_dollars = add_values(existing_dgen.total_energy_cost_bau_us_dollars, new_dgen.total_energy_cost_bau_us_dollars)
440
+ existing_dgen.total_demand_cost_bau_us_dollars = add_values(existing_dgen.total_demand_cost_bau_us_dollars, new_dgen.total_demand_cost_bau_us_dollars)
441
+
442
+ existing_dgen.resilience_hours_min = add_values(existing_dgen.resilience_hours_min, new_dgen.resilience_hours_min)
443
+ existing_dgen.resilience_hours_max = add_values(existing_dgen.resilience_hours_max, new_dgen.resilience_hours_max)
444
+ existing_dgen.resilience_hours_avg = add_values(existing_dgen.resilience_hours_avg, new_dgen.resilience_hours_avg)
445
+ existing_dgen.probs_of_surviving = add_values(existing_dgen.probs_of_surviving, new_dgen.probs_of_surviving)
446
+ existing_dgen.probs_of_surviving_by_month = add_values(existing_dgen.probs_of_surviving_by_month, new_dgen.probs_of_surviving_by_month)
447
+ existing_dgen.probs_of_surviving_by_hour_of_the_day = add_values(existing_dgen.probs_of_surviving_by_hour_of_the_day, new_dgen.probs_of_surviving_by_hour_of_the_day)
335
448
 
336
449
  new_dgen.solar_pv.each do |pv|
337
450
  existing_dgen.solar_pv.push pv
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,3 +1,33 @@
1
+ # *********************************************************************************
2
+ # URBANopt (tm), Copyright (c) 2019-2020, 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
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22
+ # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23
+ # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24
+ # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
27
+ # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28
+ # OF THE POSSIBILITY OF SUCH DAMAGE.
29
+ # *********************************************************************************
30
+
1
31
  require 'version'
2
32
  require 'openstudio/extension'
3
33
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -60,7 +60,7 @@ module URBANopt
60
60
  @@schema ||= @@validator.schema
61
61
 
62
62
  # initialize @@logger
63
- @@logger ||= URBANopt::Scenario::DefaultReports.logger
63
+ @@logger ||= URBANopt::Reporting::DefaultReports.logger
64
64
  end
65
65
 
66
66
  ##
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,6 +1,6 @@
1
1
  # URBANopt Scenario Schema
2
2
 
3
- The URBANopt Scenario Gem includes functionality for defining scenarios, running simulations, and post-processing results. An URBANopt Scenario describes a specific set of options to apply to each Feature in a FeatureFile (e.g. each GeoJSON Feature in an URBANopt GeoJSON File). User defined SimulationMapper classes translate each Feature to a SimulationDir which is a directory containing simulation input files. A ScenarioRunner is used to perform simulations for each SimulationDir. Finally, a ScenarioPostProcessor can run on a Scenario to generate scenario level results. The [URBANopt Scenario Gem Design Document](https://docs.google.com/document/d/1ExcGuHliaSvPlrYevAJTSV8XAtTQXz_KQqH3p4iQDwg/edit) describes the gem in more detail. The [URBANopt Example Project](https://github.com/urbanopt/urbanopt-example-project) demonstrates how to use the URBANopt Scenario Gem to perform a scenario analysis.
3
+ The URBANopt <sup>&trade;</sup> Scenario Gem includes functionality for defining scenarios, running simulations, and post-processing results. An URBANopt Scenario describes a specific set of options to apply to each Feature in a FeatureFile (e.g. each GeoJSON Feature in an URBANopt GeoJSON File). User defined SimulationMapper classes translate each Feature to a SimulationDir which is a directory containing simulation input files. A ScenarioRunner is used to perform simulations for each SimulationDir. Finally, a ScenarioPostProcessor can run on a Scenario to generate scenario level results. The [URBANopt Scenario Gem Design Document](https://docs.google.com/document/d/1ExcGuHliaSvPlrYevAJTSV8XAtTQXz_KQqH3p4iQDwg/edit) describes the gem in more detail. The [URBANopt Example Project](https://github.com/urbanopt/urbanopt-example-project) demonstrates how to use the URBANopt Scenario Gem to perform a scenario analysis.
4
4
 
5
5
  ## Reporting output units
6
6
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -61,7 +61,7 @@ module URBANopt
61
61
  @@schema ||= @@validator.schema
62
62
 
63
63
  # initialize @@logger
64
- @@logger ||= URBANopt::Scenario::DefaultReports.logger
64
+ @@logger ||= URBANopt::Reporting::DefaultReports.logger
65
65
  end
66
66
 
67
67
  ##
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -66,7 +66,7 @@ module URBANopt
66
66
  @@schema ||= @@validator.schema
67
67
 
68
68
  # initialize @@logger
69
- @@logger ||= URBANopt::Scenario::DefaultReports.logger
69
+ @@logger ||= URBANopt::Reporting::DefaultReports.logger
70
70
  end
71
71
 
72
72
  ##
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -60,7 +60,7 @@ module URBANopt
60
60
  @@schema ||= @@validator.schema
61
61
 
62
62
  # initialize @@logger
63
- @@logger ||= URBANopt::Scenario::DefaultReports.logger
63
+ @@logger ||= URBANopt::Reporting::DefaultReports.logger
64
64
  end
65
65
 
66
66
  ##
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt, Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
2
+ # URBANopt (tm), Copyright (c) 2019-2020, Alliance for Sustainable Energy, LLC, and other
3
3
  # contributors. All rights reserved.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without modification,
@@ -30,6 +30,6 @@
30
30
 
31
31
  module URBANopt
32
32
  module Reporting
33
- VERSION = '0.1.1'.freeze
33
+ VERSION = '0.2.0'.freeze
34
34
  end
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.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rawad El Kontar
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-08-26 00:00:00.000000000 Z
12
+ date: 2020-09-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler