urbanopt-reporting 0.1.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +19 -0
  3. data/.github/ISSUE_TEMPLATE/feature_request.md +15 -0
  4. data/.github/pull_request_template.md +13 -0
  5. data/.rdoc_options +36 -0
  6. data/CHANGELOG.md +39 -0
  7. data/CONTRIBUTING.md +1 -1
  8. data/LICENSE.md +1 -1
  9. data/RDOC_MAIN.md +10 -0
  10. data/README.md +1 -1
  11. data/Rakefile +1 -1
  12. data/deploy_docs.sh +5 -0
  13. data/doc_templates/LICENSE.md +1 -1
  14. data/doc_templates/copyright_erb.txt +1 -1
  15. data/doc_templates/copyright_js.txt +1 -1
  16. data/doc_templates/copyright_ruby.txt +1 -1
  17. data/docs/.gitignore +3 -0
  18. data/docs/.vuepress/components/InnerJsonSchema.vue +76 -0
  19. data/docs/.vuepress/components/JsonSchema.vue +12 -0
  20. data/docs/.vuepress/components/ScenarioSchema.vue +12 -0
  21. data/docs/.vuepress/components/StaticLink.vue +8 -0
  22. data/docs/.vuepress/config.js +25 -0
  23. data/docs/.vuepress/highlight.js +8 -0
  24. data/docs/.vuepress/json-schema-deref-loader.js +22 -0
  25. data/docs/.vuepress/public/custom_rdoc_styles.css +78 -0
  26. data/docs/.vuepress/styles/palette.styl +1 -0
  27. data/docs/.vuepress/utils.js +17 -0
  28. data/docs/README.md +9 -0
  29. data/docs/package-lock.json +10018 -0
  30. data/docs/package.json +30 -0
  31. data/docs/schemas/scenario-schema.md +3 -0
  32. data/lib/measures/default_feature_reports/LICENSE.md +1 -1
  33. data/lib/measures/default_feature_reports/measure.rb +261 -88
  34. data/lib/measures/default_feature_reports/measure.xml +11 -11
  35. data/lib/urbanopt/reporting.rb +1 -1
  36. data/lib/urbanopt/reporting/default_reports.rb +1 -1
  37. data/lib/urbanopt/reporting/default_reports/construction_cost.rb +1 -1
  38. data/lib/urbanopt/reporting/default_reports/date.rb +1 -1
  39. data/lib/urbanopt/reporting/default_reports/distributed_generation.rb +119 -6
  40. data/lib/urbanopt/reporting/default_reports/end_use.rb +1 -1
  41. data/lib/urbanopt/reporting/default_reports/end_uses.rb +53 -39
  42. data/lib/urbanopt/reporting/default_reports/extension.rb +30 -0
  43. data/lib/urbanopt/reporting/default_reports/feature_report.rb +52 -21
  44. data/lib/urbanopt/reporting/default_reports/generator.rb +2 -2
  45. data/lib/urbanopt/reporting/default_reports/location.rb +12 -12
  46. data/lib/urbanopt/reporting/default_reports/logger.rb +1 -1
  47. data/lib/urbanopt/reporting/default_reports/power_distribution.rb +1 -1
  48. data/lib/urbanopt/reporting/default_reports/program.rb +87 -87
  49. data/lib/urbanopt/reporting/default_reports/reporting_period.rb +87 -79
  50. data/lib/urbanopt/reporting/default_reports/scenario_report.rb +1 -1
  51. data/lib/urbanopt/reporting/default_reports/schema/README.md +1 -1
  52. data/lib/urbanopt/reporting/default_reports/schema/scenario_csv_columns.txt +18 -1
  53. data/lib/urbanopt/reporting/default_reports/schema/scenario_schema.json +117 -82
  54. data/lib/urbanopt/reporting/default_reports/solar_pv.rb +2 -2
  55. data/lib/urbanopt/reporting/default_reports/storage.rb +2 -2
  56. data/lib/urbanopt/reporting/default_reports/thermal_storage.rb +111 -0
  57. data/lib/urbanopt/reporting/default_reports/timeseries_csv.rb +1 -1
  58. data/lib/urbanopt/reporting/default_reports/validator.rb +1 -1
  59. data/lib/urbanopt/reporting/default_reports/wind.rb +2 -2
  60. data/lib/urbanopt/reporting/derived_extension.rb +1 -1
  61. data/lib/urbanopt/reporting/version.rb +2 -2
  62. data/urbanopt-reporting-gem.gemspec +4 -4
  63. metadata +37 -15
@@ -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
  ##
@@ -0,0 +1,111 @@
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
+
31
+ require 'json'
32
+ require 'urbanopt/reporting/default_reports/validator'
33
+ require 'json-schema'
34
+
35
+ module URBANopt
36
+ module Reporting
37
+ module DefaultReports
38
+ ##
39
+ # Ice Thermal Storage Systems
40
+ ##
41
+ class ThermalStorage
42
+ ##
43
+ # _Float_ - Total ice storage capacity on central plant loop in kWh
44
+ #
45
+ attr_accessor :its_size_kwh
46
+
47
+ # _Float_ - Total ice storage capacity distributed to packaged systems in kWh
48
+ #
49
+ attr_accessor :ptes_size_kwh
50
+
51
+ def initialize(hash = {})
52
+ hash.delete_if { |k, v| v.nil? }
53
+
54
+ @its_size = hash[:its_size_kwh]
55
+ @ptes_size = hash[:ptes_size_kwh]
56
+
57
+ # initialize class variables @@validator and @@schema
58
+ @@validator ||= Validator.new
59
+ @@schema ||= @@validator.schema
60
+
61
+ # initialize @@logger
62
+ @@logger ||= URBANopt::Reporting::DefaultReports.logger
63
+ end
64
+
65
+ ##
66
+ # Assigns default values if attribute values do not exist.
67
+ ##
68
+ def defaults
69
+ hash = {}
70
+ hash[:its_size_kwh] = nil
71
+ hash[:ptes_size_kwh] = nil
72
+
73
+ return hash
74
+ end
75
+
76
+ ##
77
+ # Convert to hash equivalent for JSON serialization
78
+ ##
79
+ def to_hash
80
+ result = {}
81
+ result[:its_size_kwh] = @its_size_kwh if @its_size_kwh
82
+ result[:ptes_size_kwh] = @ptes_size_kwh if @ptes_size_kwh
83
+
84
+ return result
85
+ end
86
+
87
+ ##
88
+ # Add up old and new values
89
+ ##
90
+ def self.add_values(existing_value, new_value) #:nodoc:
91
+ if existing_value && new_value
92
+ existing_value += new_value
93
+ elsif new_value
94
+ existing_value = new_value
95
+ end
96
+ return existing_value
97
+ end
98
+
99
+ ##
100
+ # Merge thermal storage
101
+ ##
102
+ def self.merge_thermal_storage(existing_tes, new_tes)
103
+ existing_tes.its_size_kwh = add_values(existing_tes.its_size_kwh, new_tes.its_size_kwh)
104
+ existing_tes.ptes_size_kwh = add_values(existing_tes.ptes_size_kwh, new_tes.ptes_size_kwh)
105
+
106
+ return existing_tes
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -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.0'.freeze
33
+ VERSION = '0.3.1'.freeze
34
34
  end
35
35
  end
@@ -12,6 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.summary = 'Library to report URBANopt results'
13
13
  spec.description = 'Library include scenario default reporting measure and scenario defaults reports schema and classes'
14
14
  spec.homepage = 'https://github.com/urbanopt'
15
+ spec.licenses = 'Nonstandard'
15
16
 
16
17
  # Specify which files should be added to the gem when it is released.
17
18
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -26,8 +27,7 @@ Gem::Specification.new do |spec|
26
27
  spec.add_development_dependency 'bundler', '~> 2.1'
27
28
  spec.add_development_dependency 'rake', '~> 13.0'
28
29
  spec.add_development_dependency 'rspec', '~> 3.7'
29
-
30
- spec.add_dependency 'json-schema'
31
- spec.add_dependency 'json_pure'
32
- spec.add_dependency 'openstudio-extension', '~> 0.2.3'
30
+ spec.add_runtime_dependency 'json-schema', '~> 2.8'
31
+ spec.add_runtime_dependency 'json_pure', '~> 2.3'
32
+ spec.add_runtime_dependency 'openstudio-extension', '~> 0.3.1'
33
33
  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.0
4
+ version: 0.3.1
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-18 00:00:00.000000000 Z
12
+ date: 2020-12-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -57,44 +57,44 @@ dependencies:
57
57
  name: json-schema
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
62
+ version: '2.8'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ">="
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: '2.8'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: json_pure
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0'
76
+ version: '2.3'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ">="
81
+ - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '0'
83
+ version: '2.3'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: openstudio-extension
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: 0.2.3
90
+ version: 0.3.1
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: 0.2.3
97
+ version: 0.3.1
98
98
  description: Library include scenario default reporting measure and scenario defaults
99
99
  reports schema and classes
100
100
  email:
@@ -103,20 +103,41 @@ executables: []
103
103
  extensions: []
104
104
  extra_rdoc_files: []
105
105
  files:
106
+ - ".github/ISSUE_TEMPLATE/bug_report.md"
107
+ - ".github/ISSUE_TEMPLATE/feature_request.md"
108
+ - ".github/pull_request_template.md"
106
109
  - ".gitignore"
110
+ - ".rdoc_options"
107
111
  - ".rubocop.yml"
108
112
  - CHANGELOG.md
109
113
  - CONTRIBUTING.md
110
114
  - Gemfile
111
115
  - Jenkinsfile
112
116
  - LICENSE.md
117
+ - RDOC_MAIN.md
113
118
  - README.md
114
119
  - Rakefile
120
+ - deploy_docs.sh
115
121
  - doc_templates/LICENSE.md
116
122
  - doc_templates/README.md.erb
117
123
  - doc_templates/copyright_erb.txt
118
124
  - doc_templates/copyright_js.txt
119
125
  - doc_templates/copyright_ruby.txt
126
+ - docs/.gitignore
127
+ - docs/.vuepress/components/InnerJsonSchema.vue
128
+ - docs/.vuepress/components/JsonSchema.vue
129
+ - docs/.vuepress/components/ScenarioSchema.vue
130
+ - docs/.vuepress/components/StaticLink.vue
131
+ - docs/.vuepress/config.js
132
+ - docs/.vuepress/highlight.js
133
+ - docs/.vuepress/json-schema-deref-loader.js
134
+ - docs/.vuepress/public/custom_rdoc_styles.css
135
+ - docs/.vuepress/styles/palette.styl
136
+ - docs/.vuepress/utils.js
137
+ - docs/README.md
138
+ - docs/package-lock.json
139
+ - docs/package.json
140
+ - docs/schemas/scenario-schema.md
120
141
  - lib/measures/.rubocop.yml
121
142
  - lib/measures/default_feature_reports/LICENSE.md
122
143
  - lib/measures/default_feature_reports/README.md
@@ -144,6 +165,7 @@ files:
144
165
  - lib/urbanopt/reporting/default_reports/schema/scenario_schema.json
145
166
  - lib/urbanopt/reporting/default_reports/solar_pv.rb
146
167
  - lib/urbanopt/reporting/default_reports/storage.rb
168
+ - lib/urbanopt/reporting/default_reports/thermal_storage.rb
147
169
  - lib/urbanopt/reporting/default_reports/timeseries_csv.rb
148
170
  - lib/urbanopt/reporting/default_reports/validator.rb
149
171
  - lib/urbanopt/reporting/default_reports/wind.rb
@@ -151,7 +173,8 @@ files:
151
173
  - lib/urbanopt/reporting/version.rb
152
174
  - urbanopt-reporting-gem.gemspec
153
175
  homepage: https://github.com/urbanopt
154
- licenses: []
176
+ licenses:
177
+ - Nonstandard
155
178
  metadata: {}
156
179
  post_install_message:
157
180
  rdoc_options: []
@@ -168,8 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
191
  - !ruby/object:Gem::Version
169
192
  version: '0'
170
193
  requirements: []
171
- rubyforge_project:
172
- rubygems_version: 2.7.6
194
+ rubygems_version: 3.1.4
173
195
  signing_key:
174
196
  specification_version: 4
175
197
  summary: Library to report URBANopt results