urbanopt-reporting 1.1.0 → 1.2.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/CONTRIBUTING.md +3 -3
  4. data/Gemfile +1 -1
  5. data/LICENSE.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/docs/package.json +1 -1
  12. data/lib/measures/default_feature_reports/LICENSE.md +1 -1
  13. data/lib/measures/default_feature_reports/measure.rb +1 -1
  14. data/lib/measures/export_modelica_loads/LICENSE.md +1 -1
  15. data/lib/measures/export_modelica_loads/measure.rb +1 -1
  16. data/lib/measures/export_time_series_modelica/LICENSE.md +1 -1
  17. data/lib/measures/export_time_series_modelica/measure.rb +1 -1
  18. data/lib/measures/export_time_series_modelica/resources/os_lib_helper_methods.rb +1 -1
  19. data/lib/urbanopt/reporting/default_reports/construction_cost.rb +1 -1
  20. data/lib/urbanopt/reporting/default_reports/date.rb +1 -1
  21. data/lib/urbanopt/reporting/default_reports/distributed_generation.rb +46 -2
  22. data/lib/urbanopt/reporting/default_reports/end_use.rb +1 -1
  23. data/lib/urbanopt/reporting/default_reports/end_uses.rb +1 -1
  24. data/lib/urbanopt/reporting/default_reports/extension.rb +1 -1
  25. data/lib/urbanopt/reporting/default_reports/feature_report.rb +1 -1
  26. data/lib/urbanopt/reporting/default_reports/generator.rb +1 -1
  27. data/lib/urbanopt/reporting/default_reports/location.rb +1 -1
  28. data/lib/urbanopt/reporting/default_reports/logger.rb +1 -1
  29. data/lib/urbanopt/reporting/default_reports/power_distribution.rb +1 -1
  30. data/lib/urbanopt/reporting/default_reports/program.rb +1 -1
  31. data/lib/urbanopt/reporting/default_reports/qaqc_flags.rb +1 -1
  32. data/lib/urbanopt/reporting/default_reports/reporting_period.rb +1 -1
  33. data/lib/urbanopt/reporting/default_reports/scenario_power_distribution.rb +1 -1
  34. data/lib/urbanopt/reporting/default_reports/scenario_power_distribution_cost.rb +1 -1
  35. data/lib/urbanopt/reporting/default_reports/scenario_report.rb +1 -1
  36. data/lib/urbanopt/reporting/default_reports/schema/scenario_schema.json +25 -0
  37. data/lib/urbanopt/reporting/default_reports/solar_pv.rb +1 -1
  38. data/lib/urbanopt/reporting/default_reports/storage.rb +1 -1
  39. data/lib/urbanopt/reporting/default_reports/thermal_storage.rb +1 -1
  40. data/lib/urbanopt/reporting/default_reports/timeseries_csv.rb +20 -15
  41. data/lib/urbanopt/reporting/default_reports/validator.rb +1 -1
  42. data/lib/urbanopt/reporting/default_reports/wind.rb +1 -1
  43. data/lib/urbanopt/reporting/default_reports.rb +1 -1
  44. data/lib/urbanopt/reporting/derived_extension.rb +1 -1
  45. data/lib/urbanopt/reporting/version.rb +2 -2
  46. data/lib/urbanopt/reporting.rb +1 -1
  47. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 166b735ce69f284a1940be9b0b0f6465859398858710c3066a3e4b1483a3cee1
4
- data.tar.gz: 8f92f0d3051e56b74ad38f4751cb3191388a990a645f5f1189a2d82a969816e3
3
+ metadata.gz: aa7b49f39bc2a2498641f9ced12a7e56a27427a1b092977aad78233e9cf03b01
4
+ data.tar.gz: 203cd4d39d0cd44caad0111d6a82fc1c758f558559cf9311ce9083bca6084a44
5
5
  SHA512:
6
- metadata.gz: 1d360fa05a79294c4ad9b6cd0024bd0bb743d7f147d16efdb6a09064f27bf09f875bc21a5346e84770b440673d49874af90e15748a2d83f1548aa7b6422e5683
7
- data.tar.gz: c3a5fa01b0638693edc0c27bb62cb3e980e3f693c56179155a15351667e421827a7ab4c4d73a66ab71968cb33d21d03f1fea72324f325aade0f9b3093a047647
6
+ metadata.gz: b7deaa287639975c21f7b58e05b42eea23bc0d686f61b5f356047acc08ce55d4cb8399463e056562c3d97b67c22aae8bcb1c3294ddfa802f577b95b750191ad3
7
+ data.tar.gz: ea954942db30ecd7967b128a86bc3703734285fc598918980d71d3ae4233a7913a8d3302fdefc3e03ce137d4b5ac8289e853bea76349cd86932623ed7a149cfa
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # URBANopt Reporting Gem
2
2
 
3
+ ## Version 1.2.0
4
+
5
+ * Update copyrights, handle change from github.com/NREL to github.com/NatLabRockies
6
+ * Add lifecycle cost fields to scenario report for REopt cost analysis
7
+
3
8
  ## Version 1.1.0
4
9
 
5
10
  * Upgrade to OpenStudio 3.10
data/CONTRIBUTING.md CHANGED
@@ -10,7 +10,7 @@ The contribution process for URBANopt is composed of three steps:
10
10
 
11
11
  In order for us to distribute your code as part of URBANopt under the URBANopt SDK [license](https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md), we’ll need your consent. An email acknowledging your understanding of these terms and agreeing to them is all that will be asked of any contributor. Send an email to the URBANopt project manager ([see below](#documentation) for the address) including the following text and a list of co-contributors (if any):
12
12
 
13
- *I agree to contribute to the URBANopt SDK. I agree to the following terms and conditions for my contributions: First, I agree that I am licensing the copyright to my contributions under the terms of the current URBANopt SDK license. Second, I hereby grant to Alliance for Sustainable Energy, LLC, to any successor manager and distributor of URBANopt SDK appointed by the U.S. Department of Energy, and to all recipients of a version of URBANopt SDK that includes my contributions, a non-exclusive, worldwide, royalty-free, irrevocable patent license under any patent claims owned by me, or owned by my employer and known to me, that are or will be,necessarily infringed upon by my contributions alone, or by combination of my contributions with the version of URBANopt SDK to which they are contributed, to make, have made, use, offer to sell, sell, import, and otherwise transfer any version of URBANopt SDK that includes my contributions, in source code and object code form. Third, I represent and warrant that I am authorized to make the contributions and grant the foregoing license(s). Additionally, if, to my knowledge, my employer has rights to intellectual property that covers my contributions, I represent and warrant that I have received permission to make these contributions and grant the foregoing license(s) on behalf of my employer.*
13
+ *I agree to contribute to the URBANopt SDK. I agree to the following terms and conditions for my contributions: First, I agree that I am licensing the copyright to my contributions under the terms of the current URBANopt SDK license. Second, I hereby grant to Alliance for Energy Innovation, LLC, to any successor manager and distributor of URBANopt SDK appointed by the U.S. Department of Energy, and to all recipients of a version of URBANopt SDK that includes my contributions, a non-exclusive, worldwide, royalty-free, irrevocable patent license under any patent claims owned by me, or owned by my employer and known to me, that are or will be,necessarily infringed upon by my contributions alone, or by combination of my contributions with the version of URBANopt SDK to which they are contributed, to make, have made, use, offer to sell, sell, import, and otherwise transfer any version of URBANopt SDK that includes my contributions, in source code and object code form. Third, I represent and warrant that I am authorized to make the contributions and grant the foregoing license(s). Additionally, if, to my knowledge, my employer has rights to intellectual property that covers my contributions, I represent and warrant that I have received permission to make these contributions and grant the foregoing license(s) on behalf of my employer.*
14
14
 
15
15
  Once we have your consent on file, you’ll only need to redo it if conditions change (e.g. a change of employer).
16
16
 
@@ -53,6 +53,6 @@ URBANopt Project Management\
53
53
  ben.polly@nrel.gov\
54
54
  (303) 384-7429
55
55
 
56
- URBANopt is funded by the U.S. Department of Energy (DOE) and managed by the National Renewable Energy Laboratory (NREL).
56
+ URBANopt is funded by the U.S. Department of Energy (DOE) and managed by the National Laboratory of the Rockies (NLR).
57
57
 
58
- URBANopt is developed in collaboration with NREL, LBNL, and private firms.
58
+ URBANopt is developed in collaboration with NLR, LBNL, and private firms.
data/Gemfile CHANGED
@@ -14,5 +14,5 @@ allow_local = ENV['FAVOR_LOCAL_GEMS']
14
14
  # if allow_local && File.exist?('../openstudio-extension-gem')
15
15
  # gem 'openstudio-extension', path: '../openstudio-extension-gem'
16
16
  # elsif allow_local
17
- # gem 'openstudio-extension', github: 'NREL/openstudio-extension-gem', branch: 'develop'
17
+ # gem 'openstudio-extension', github: 'NatLabRockies/openstudio-extension-gem', branch: 'develop'
18
18
  # end
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- URBANopt (tm), Copyright (c) 2019-2024, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt (tm), Copyright (c) 2019-2026, Alliance for Energy Innovation, 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/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt™, Copyright © Alliance for Sustainable Energy, LLC.
2
+ # URBANopt™, Copyright © Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,4 +1,4 @@
1
- URBANopt (tm), Copyright (c) 2019-2024, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt (tm), Copyright (c) 2019-2026, Alliance for Energy Innovation, 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 (tm), Copyright (c) 2019-2024, Alliance for Sustainable Energy, LLC, and other
3
+ # URBANopt (tm), Copyright (c) 2019-2026, Alliance for Energy Innovation, 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 (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ * URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  * See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  */
@@ -1,4 +1,4 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
data/docs/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "build": "vuepress build",
9
9
  "deploy": "gh-pages -d .vuepress/dist"
10
10
  },
11
- "author": "NREL",
11
+ "author": "NLR",
12
12
  "dependencies": {
13
13
  "highlight.js": "^10.4.1",
14
14
  "json-schema-ref-parser": "^9.0.6",
@@ -1,4 +1,4 @@
1
- URBANopt (tm), Copyright (c) 2019-2024, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt (tm), Copyright (c) 2019-2026, Alliance for Energy Innovation, 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 (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,4 +1,4 @@
1
- URBANopt (tm), Copyright (c) 2019-2024, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt (tm), Copyright (c) 2019-2026, Alliance for Energy Innovation, 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 (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,4 +1,4 @@
1
- URBANopt (tm), Copyright (c) 2019-2024, Alliance for Sustainable Energy, LLC, and other
1
+ URBANopt (tm), Copyright (c) 2019-2026, Alliance for Energy Innovation, 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 (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -82,6 +82,31 @@ module URBANopt
82
82
  #
83
83
  attr_accessor :lifecycle_energy_cost_after_tax_bau
84
84
 
85
+ ##
86
+ # _Float_ - Up-front capital costs for all technologies, in present value, excluding replacement costs and incentives.
87
+ #
88
+ attr_accessor :initial_capital_costs
89
+
90
+ ##
91
+ # _Float_ - Up-front capital costs for all technologies, in present value, excluding replacement costs, including incentives.
92
+ #
93
+ attr_accessor :initial_capital_costs_after_incentives
94
+
95
+ ##
96
+ # _Float_ - Net capital costs for all technologies, in present value, including replacement costs and incentives.
97
+ #
98
+ attr_accessor :lifecycle_capital_costs
99
+
100
+ ##
101
+ # _Float_ - Component of lifecycle costs (LCC). This value is the present value of all fuel costs over the analysis period, after tax.
102
+ #
103
+ attr_accessor :lifecycle_fuel_costs_after_tax
104
+
105
+ ##
106
+ # _Float_ - Component of lifecycle costs (LCC). This value is the present value of all electric utility charges, after tax.
107
+ #
108
+ attr_accessor :lifecycle_elecbill_after_tax
109
+
85
110
  ##
86
111
  # _Array_ - List of _SolarPV_ systems
87
112
  #
@@ -171,7 +196,9 @@ module URBANopt
171
196
  #
172
197
  # * Technologies include +:solar_pv+, +:wind+, +:generator+, and +:storage+.
173
198
  # * Financial metrics include +:lcc+, +:npv+, +:year_one_energy_cost_before_tax+, +:year_one_demand_cost_before_tax+,
174
- # +:year_one_bill_before_tax+, and +:lifecycle_energy_cost_after_tax+
199
+ # +:year_one_bill_before_tax+, +:lifecycle_energy_cost_after_tax+, +:initial_capital_costs+,
200
+ # +:initial_capital_costs_after_incentives+, +:lifecycle_capital_costs+,
201
+ # +:lifecycle_elecbill_after_tax+, and +:lifecycle_fuel_costs_after_tax+
175
202
  ##
176
203
  # [parameters:]
177
204
  #
@@ -194,6 +221,11 @@ module URBANopt
194
221
  @lifecycle_energy_cost_after_tax_bau = hash[:lifecycle_energy_cost_after_tax_bau]
195
222
  @lifecycle_demand_cost_after_tax = hash[:lifecycle_demand_cost_after_tax]
196
223
  @lifecycle_demand_cost_after_tax_bau = hash[:lifecycle_demand_cost_after_tax_bau]
224
+ @initial_capital_costs = hash[:initial_capital_costs]
225
+ @initial_capital_costs_after_incentives = hash[:initial_capital_costs_after_incentives]
226
+ @lifecycle_capital_costs = hash[:lifecycle_capital_costs]
227
+ @lifecycle_fuel_costs_after_tax = hash[:lifecycle_fuel_costs_after_tax]
228
+ @lifecycle_elecbill_after_tax = hash[:lifecycle_elecbill_after_tax]
197
229
 
198
230
  @resilience_hours_min = hash[:resilience_hours_min]
199
231
  @resilience_hours_max = hash[:resilience_hours_max]
@@ -362,6 +394,12 @@ module URBANopt
362
394
  result[:lifecycle_energy_cost_after_tax_bau] = @lifecycle_energy_cost_after_tax_bau if @lifecycle_energy_cost_after_tax_bau
363
395
  result[:lifecycle_demand_cost_after_tax_bau] = @lifecycle_demand_cost_after_tax_bau if @lifecycle_demand_cost_after_tax_bau
364
396
 
397
+ result[:initial_capital_costs] = @initial_capital_costs if @initial_capital_costs
398
+ result[:initial_capital_costs_after_incentives] = @initial_capital_costs_after_incentives if @initial_capital_costs_after_incentives
399
+ result[:lifecycle_capital_costs] = @lifecycle_capital_costs if @lifecycle_capital_costs
400
+ result[:lifecycle_fuel_costs_after_tax] = @lifecycle_fuel_costs_after_tax if @lifecycle_fuel_costs_after_tax
401
+ result[:lifecycle_elecbill_after_tax] = @lifecycle_elecbill_after_tax if @lifecycle_elecbill_after_tax
402
+
365
403
  result[:total_solar_pv_kw] = @total_solar_pv_kw if @total_solar_pv_kw
366
404
  result[:total_wind_kw] = @total_wind_kw if @total_wind_kw
367
405
  result[:total_generator_kw] = @total_generator_kw if @total_generator_kw
@@ -432,6 +470,12 @@ module URBANopt
432
470
  existing_dgen.lifecycle_energy_cost_after_tax_bau = add_values(existing_dgen.lifecycle_energy_cost_after_tax_bau, new_dgen.lifecycle_energy_cost_after_tax_bau)
433
471
  existing_dgen.lifecycle_demand_cost_after_tax_bau = add_values(existing_dgen.lifecycle_demand_cost_after_tax_bau, new_dgen.lifecycle_demand_cost_after_tax_bau)
434
472
 
473
+ existing_dgen.initial_capital_costs = add_values(existing_dgen.initial_capital_costs, new_dgen.initial_capital_costs)
474
+ existing_dgen.initial_capital_costs_after_incentives = add_values(existing_dgen.initial_capital_costs_after_incentives, new_dgen.initial_capital_costs_after_incentives)
475
+ existing_dgen.lifecycle_capital_costs = add_values(existing_dgen.lifecycle_capital_costs, new_dgen.lifecycle_capital_costs)
476
+ existing_dgen.lifecycle_fuel_costs_after_tax = add_values(existing_dgen.lifecycle_fuel_costs_after_tax, new_dgen.lifecycle_fuel_costs_after_tax)
477
+ existing_dgen.lifecycle_elecbill_after_tax = add_values(existing_dgen.lifecycle_elecbill_after_tax, new_dgen.lifecycle_elecbill_after_tax)
478
+
435
479
  existing_dgen.resilience_hours_min = add_values(existing_dgen.resilience_hours_min, new_dgen.resilience_hours_min)
436
480
  existing_dgen.resilience_hours_max = add_values(existing_dgen.resilience_hours_max, new_dgen.resilience_hours_max)
437
481
  existing_dgen.resilience_hours_avg = add_values(existing_dgen.resilience_hours_avg, new_dgen.resilience_hours_avg)
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -481,6 +481,31 @@
481
481
  "units": "dollars",
482
482
  "type": "number"
483
483
  },
484
+ "initial_capital_costs": {
485
+ "description": "Up-front capital costs for all technologies, in present value, excluding replacement costs and incentives.",
486
+ "units": "dollars",
487
+ "type": "number"
488
+ },
489
+ "initial_capital_costs_after_incentives": {
490
+ "description": "Up-front capital costs for all technologies, in present value, excluding replacement costs, including incentives.",
491
+ "units": "dollars",
492
+ "type": "number"
493
+ },
494
+ "lifecycle_capital_costs": {
495
+ "description": "Net capital costs for all technologies, in present value, including replacement costs and incentives.",
496
+ "units": "dollars",
497
+ "type": "number"
498
+ },
499
+ "lifecycle_fuel_costs_after_tax": {
500
+ "description": "Component of lifecycle costs (LCC). This value is the present value of all fuel costs over the analysis period, after tax.",
501
+ "units": "dollars",
502
+ "type": "number"
503
+ },
504
+ "lifecycle_elecbill_after_tax": {
505
+ "description": "Component of lifecycle costs (LCC). This value is the present value of all electric utility charges, after tax.",
506
+ "units": "dollars",
507
+ "type": "number"
508
+ },
484
509
  "SolarPV": {
485
510
  "$ref": "#/definitions/SolarPV"
486
511
  },
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -186,21 +186,26 @@ module URBANopt
186
186
  path = @path
187
187
  end
188
188
 
189
- File.open(path, 'w') do |f|
190
- f.puts @column_names.join(',')
191
- n = @data[@column_names[0]].size - 1
192
-
193
- (0..n).each do |i|
194
- line = []
195
- @column_names.each do |column_name|
196
- line << @data[column_name][i]
189
+ # what if data is nil? warn user and don't attempt to write to file or it errors out
190
+ if @data.nil?
191
+ @@logger.warn('No data to save to TimeseriesCSV to write to file during feature report update.')
192
+ puts
193
+ else
194
+ File.open(path, 'w') do |f|
195
+ f.puts @column_names.join(',')
196
+ n = @data[@column_names[0]].size - 1
197
+ (0..n).each do |i|
198
+ line = []
199
+ @column_names.each do |column_name|
200
+ line << @data[column_name][i]
201
+ end
202
+ f.puts line.join(',')
203
+ end
204
+ begin
205
+ f.fsync
206
+ rescue StandardError
207
+ f.flush
197
208
  end
198
- f.puts line.join(',')
199
- end
200
- begin
201
- f.fsync
202
- rescue StandardError
203
- f.flush
204
209
  end
205
210
  end
206
211
  end
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
@@ -1,10 +1,10 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
6
6
  module URBANopt
7
7
  module Reporting
8
- VERSION = '1.1.0'.freeze
8
+ VERSION = '1.2.0'.freeze
9
9
  end
10
10
  end
@@ -1,5 +1,5 @@
1
1
  # *********************************************************************************
2
- # URBANopt (tm), Copyright (c) Alliance for Sustainable Energy, LLC.
2
+ # URBANopt (tm), Copyright (c) Alliance for Energy Innovation, LLC.
3
3
  # See also https://github.com/urbanopt/urbanopt-reporting-gem/blob/develop/LICENSE.md
4
4
  # *********************************************************************************
5
5
 
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: 1.1.0
4
+ version: 1.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: 2025-10-06 00:00:00.000000000 Z
12
+ date: 2026-01-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake