urbanopt-reporting 0.2.1 → 0.3.4

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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -1
  3. data/LICENSE.md +1 -1
  4. data/doc_templates/LICENSE.md +1 -1
  5. data/doc_templates/copyright_erb.txt +1 -1
  6. data/doc_templates/copyright_js.txt +1 -1
  7. data/doc_templates/copyright_ruby.txt +1 -1
  8. data/docs/package-lock.json +3 -3
  9. data/docs/package.json +1 -1
  10. data/lib/measures/default_feature_reports/LICENSE.md +1 -1
  11. data/lib/measures/default_feature_reports/measure.rb +193 -59
  12. data/lib/measures/default_feature_reports/measure.xml +11 -11
  13. data/lib/measures/export_modelica_loads/LICENSE.md +27 -0
  14. data/lib/measures/export_modelica_loads/README.md +26 -0
  15. data/lib/measures/export_modelica_loads/README.md.erb +42 -0
  16. data/lib/measures/export_modelica_loads/docs/.gitkeep +0 -0
  17. data/lib/measures/export_modelica_loads/measure.rb +373 -0
  18. data/lib/measures/export_modelica_loads/measure.xml +92 -0
  19. data/lib/measures/export_modelica_loads/resources/report.html.in +13 -0
  20. data/lib/measures/export_time_series_modelica/LICENSE.md +1 -0
  21. data/lib/measures/export_time_series_modelica/README.md +59 -0
  22. data/lib/measures/export_time_series_modelica/README.md.erb +42 -0
  23. data/lib/measures/export_time_series_modelica/docs/.gitkeep +0 -0
  24. data/lib/measures/export_time_series_modelica/measure.rb +429 -0
  25. data/lib/measures/export_time_series_modelica/measure.xml +147 -0
  26. data/lib/measures/export_time_series_modelica/resources/os_lib_helper_methods.rb +399 -0
  27. data/lib/measures/export_time_series_modelica/resources/report.html.in +13 -0
  28. data/lib/urbanopt/reporting/default_reports/end_uses.rb +23 -9
  29. data/lib/urbanopt/reporting/default_reports/feature_report.rb +62 -5
  30. data/lib/urbanopt/reporting/default_reports/reporting_period.rb +42 -22
  31. data/lib/urbanopt/reporting/default_reports/scenario_report.rb +7 -4
  32. data/lib/urbanopt/reporting/default_reports/schema/scenario_csv_columns.txt +15 -0
  33. data/lib/urbanopt/reporting/default_reports/schema/scenario_schema.json +33 -5
  34. data/lib/urbanopt/reporting/version.rb +1 -1
  35. data/urbanopt-reporting-gem.gemspec +1 -1
  36. metadata +19 -4
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>ReportingMeasure</title>
6
+ <link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet">
7
+ <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
8
+ <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/d3/3.3.9/d3.min.js"></script>
9
+ </head>
10
+ <body>
11
+ <%= output %>
12
+ </body>
13
+ </html>
@@ -39,9 +39,9 @@ module URBANopt
39
39
  # Enduses class inlclude results for each fuel type.
40
40
  ##
41
41
  class EndUses
42
- attr_accessor :electricity_kwh, :natural_gas_kwh, :additional_fuel_kwh, :district_cooling_kwh, :district_heating_kwh, :water_qbft # :nodoc:
42
+ attr_accessor :electricity_kwh, :natural_gas_kwh, :propane_kwh, :fuel_oil_kwh, :other_fuels_kwh, :district_cooling_kwh, :district_heating_kwh, :water_qbft # :nodoc:
43
43
  ##
44
- # EndUses class intialize end_uses(fuel type) attributes: +:electricity_kwh+ , +:natural_gas_kwh+ , +:additional_fuel_kwh+ ,
44
+ # EndUses class intialize end_uses(fuel type) attributes: +:electricity_kwh+ , +:natural_gas_kwh+ , +:propane_kwh+ , +:fuel_oil_kwh+ , +:other_fuels_kwh+ ,
45
45
  # +:district_cooling_kwh+ , +:district_heating_kwh+ , +:water_qbft+
46
46
  ##
47
47
  # [parameters:]
@@ -53,7 +53,9 @@ module URBANopt
53
53
 
54
54
  @electricity_kwh = EndUse.new(hash[:electricity_kwh])
55
55
  @natural_gas_kwh = EndUse.new(hash[:natural_gas_kwh])
56
- @additional_fuel_kwh = EndUse.new(hash[:additional_fuel_kwh])
56
+ @propane_kwh = EndUse.new(hash[:propane_kwh])
57
+ @fuel_oil_kwh = EndUse.new(hash[:fuel_oil_kwh])
58
+ @other_fuels_kwh = EndUse.new(hash[:other_fuels_kwh])
57
59
  @district_cooling_kwh = EndUse.new(hash[:district_cooling_kwh])
58
60
  @district_heating_kwh = EndUse.new(hash[:district_heating_kwh])
59
61
  @water_qbft = EndUse.new(hash[:water_qbft])
@@ -72,7 +74,7 @@ module URBANopt
72
74
  def to_hash
73
75
  result = {}
74
76
 
75
- electricity_kwh_hash = @electricity_kwh.to_hash if @electricity_kwh.to_hash
77
+ electricity_kwh_hash = @electricity_kwh.to_hash if @electricity_kwh
76
78
  electricity_kwh_hash.delete_if { |k, v| v.nil? }
77
79
  result[:electricity_kwh] = electricity_kwh_hash if @electricity_kwh
78
80
 
@@ -80,9 +82,17 @@ module URBANopt
80
82
  natural_gas_kwh_hash.delete_if { |k, v| v.nil? }
81
83
  result[:natural_gas_kwh] = natural_gas_kwh_hash if @natural_gas_kwh
82
84
 
83
- additional_fuel_kwh_hash = @additional_fuel_kwh.to_hash if @additional_fuel_kwh
84
- additional_fuel_kwh_hash.delete_if { |k, v| v.nil? }
85
- result[:additional_fuel_kwh] = additional_fuel_kwh_hash if @additional_fuel_kwh
85
+ propane_kwh_hash = @propane_kwh.to_hash if @propane_kwh
86
+ propane_kwh_hash.delete_if { |k, v| v.nil? }
87
+ result[:propane_kwh] = propane_kwh_hash if @propane_kwh
88
+
89
+ fuel_oil_kwh_hash = @fuel_oil_kwh.to_hash if @fuel_oil_kwh
90
+ fuel_oil_kwh_hash.delete_if { |k, v| v.nil? }
91
+ result[:fuel_oil_kwh] = fuel_oil_kwh_hash if @fuel_oil_kwh
92
+
93
+ other_fuels_kwh_hash = @other_fuels_kwh.to_hash if @other_fuels_kwh
94
+ other_fuels_kwh_hash.delete_if { |k, v| v.nil? }
95
+ result[:other_fuels_kwh] = other_fuels_kwh_hash if @other_fuels_kwh
86
96
 
87
97
  district_cooling_kwh_hash = @district_cooling_kwh.to_hash if @district_cooling_kwh
88
98
  district_cooling_kwh_hash.delete_if { |k, v| v.nil? }
@@ -111,7 +121,9 @@ module URBANopt
111
121
  hash = {}
112
122
  hash[:electricity_kwh] = EndUse.new.to_hash
113
123
  hash[:natural_gas_kwh] = EndUse.new.to_hash
114
- hash[:additional_fuel_kwh] = EndUse.new.to_hash
124
+ hash[:propane_kwh] = EndUse.new.to_hash
125
+ hash[:fuel_oil_kwh] = EndUse.new.to_hash
126
+ hash[:other_fuels_kwh] = EndUse.new.to_hash
115
127
  hash[:district_cooling_kwh] = EndUse.new.to_hash
116
128
  hash[:district_heating_kwh] = EndUse.new.to_hash
117
129
  hash[:water_qbft] = EndUse.new.to_hash
@@ -129,7 +141,9 @@ module URBANopt
129
141
  # modify the existing_period by summing up the results ; # sum results only if they exist
130
142
  @electricity_kwh.merge_end_use!(new_end_uses.electricity_kwh)
131
143
  @natural_gas_kwh.merge_end_use!(new_end_uses.natural_gas_kwh)
132
- @additional_fuel_kwh.merge_end_use!(new_end_uses.additional_fuel_kwh)
144
+ @propane_kwh.merge_end_use!(new_end_uses.propane_kwh)
145
+ @fuel_oil_kwh.merge_end_use!(new_end_uses.fuel_oil_kwh)
146
+ @other_fuels_kwh.merge_end_use!(new_end_uses.other_fuels_kwh)
133
147
  @district_cooling_kwh.merge_end_use!(new_end_uses.district_cooling_kwh)
134
148
  @district_heating_kwh.merge_end_use!(new_end_uses.district_heating_kwh)
135
149
  return self
@@ -40,6 +40,7 @@ require_relative 'thermal_storage'
40
40
 
41
41
  require 'json-schema'
42
42
  require 'json'
43
+ require 'fileutils'
43
44
 
44
45
  module URBANopt
45
46
  module Reporting
@@ -223,6 +224,66 @@ module URBANopt
223
224
  return result
224
225
  end
225
226
 
227
+ ##
228
+ # Saves the 'default_feature_report.json' and 'default_feature_report.csv' files
229
+ ##
230
+ # [parameters]:
231
+ # +file_name+ - _String_ - Assign a name to the saved feature results file without an extension
232
+ def save(file_name = 'default_feature_report')
233
+ # reassign the initialize local variable @file_name to the file name input.
234
+ @file_name = file_name
235
+
236
+ # save the feature reports csv and json data
237
+ old_timeseries_path = nil
238
+ if !@timeseries_csv.path.nil?
239
+ old_timeseries_path = @timeseries_csv.path
240
+ end
241
+
242
+ # define the results_dir_path
243
+ results_dir_path = File.join(@directory_name, 'feature_reports')
244
+ # create feature reports directory
245
+ Dir.mkdir(results_dir_path) unless Dir.exist?(File.join(@directory_name, 'feature_reports'))
246
+
247
+ @timeseries_csv.path = File.join(@directory_name, 'feature_reports', file_name + '.csv')
248
+ FileUtils.mkdir_p File.dirname(@timeseries_csv.path)
249
+ @timeseries_csv.save_data
250
+
251
+ ## save json rport
252
+ # feature_hash
253
+ feature_hash = to_hash
254
+
255
+ json_name_path = File.join(results_dir_path, file_name + '.json')
256
+
257
+ File.open(json_name_path, 'w') do |f|
258
+ f.puts JSON.pretty_generate(feature_hash)
259
+ # make sure data is written to the disk one way or the other
260
+ begin
261
+ f.fsync
262
+ rescue StandardError
263
+ f.flush
264
+ end
265
+ end
266
+
267
+ if !old_timeseries_path.nil?
268
+ @timeseries_csv.path = old_timeseries_path
269
+ else
270
+ @timeseries_csv.path = File.join(@directory_name, file_name + '.csv')
271
+ end
272
+
273
+ return true
274
+ end
275
+
276
+ ##
277
+ # Calls the individual functions to save 'default_feature_report.json' and 'default_feature_report.csv'
278
+ # For backward compatibility and ease of use
279
+ ##
280
+ # [parameters]:
281
+ # +file_name+ - _String_ - Assign a name to the saved feature report file without an extension
282
+ def save_feature_report(file_name = 'default_feature_report')
283
+ save_json_report(file_name)
284
+ save_csv_report(file_name)
285
+ end
286
+
226
287
  ##
227
288
  # Saves the 'default_feature_report.json' file to the results directory
228
289
  ##
@@ -252,7 +313,6 @@ module URBANopt
252
313
  f.flush
253
314
  end
254
315
  end
255
-
256
316
  end
257
317
 
258
318
  ##
@@ -275,13 +335,10 @@ module URBANopt
275
335
  # copy the CSV report to the new feature_reports folder
276
336
  directory_folders.each do |f|
277
337
  if f.include? '_default_feature_reports'
278
- FileUtils.cp(File.join(f, 'default_feature_reports.csv'), File.join(results_dir_path, @file_name +'.csv'))
338
+ FileUtils.cp(File.join(f, 'default_feature_reports.csv'), File.join(results_dir_path, @file_name + '.csv'))
279
339
  end
280
340
  end
281
341
  end
282
-
283
-
284
-
285
342
  end
286
343
  end
287
344
  end
@@ -43,14 +43,14 @@ module URBANopt
43
43
  # ReportingPeriod includes all the results of a specific reporting period.
44
44
  ##
45
45
  class ReportingPeriod
46
- attr_accessor :id, :name, :multiplier, :start_date, :end_date, :month, :day_of_month, :year, :total_site_energy_kwh, :total_source_energy_kwh,
47
- :net_site_energy_kwh, :net_source_energy_kwh, :total_utility_cost_dollar, :net_utility_cost_dollar, :utility_costs_dollar, :electricity_kwh, :natural_gas_kwh, :additional_fuel_kwh, :district_cooling_kwh,
46
+ attr_accessor :id, :name, :multiplier, :start_date, :end_date, :month, :day_of_month, :year, :total_site_energy_kwh, :total_source_energy_kwh, :site_EUI_kwh_per_m2, :site_EUI_kbtu_per_ft2, :source_EUI_kwh_per_m2, :source_EUI_kbtu_per_ft2,
47
+ :net_site_energy_kwh, :net_source_energy_kwh, :total_utility_cost_dollar, :net_utility_cost_dollar, :utility_costs_dollar, :electricity_kwh, :natural_gas_kwh, :propane_kwh, :fuel_oil_kwh, :other_fuels_kwh, :district_cooling_kwh,
48
48
  :district_heating_kwh, :water_qbft, :electricity_produced_kwh, :end_uses, :energy_production_kwh, :photovoltaic,
49
49
  :fuel_type, :total_cost_dollar, :usage_cost_dollar, :demand_cost_dollar, :comfort_result, :time_setpoint_not_met_during_occupied_cooling,
50
50
  :time_setpoint_not_met_during_occupied_heating, :time_setpoint_not_met_during_occupied_hours, :hours_out_of_comfort_bounds_PMV, :hours_out_of_comfort_bounds_PPD #:nodoc:
51
51
  # ReportingPeriod class initializes the reporting period attributes:
52
- # +:id+ , +:name+ , +:multiplier+ , +:start_date+ , +:end_date+ , +:month+ , +:day_of_month+ , +:year+ , +:total_site_energy_kwh+ , +:total_source_energy_kwh+ ,
53
- # +:net_site_energy_kwh+ , +:net_source_energy_kwh+ , +:total_utility_cost_dollar , +:net_utility_cost_dollar+ , +:utility_costs_dollar+ , +:electricity_kwh+ , +:natural_gas_kwh+ , +:additional_fuel_kwh+ , +:district_cooling_kwh+ ,
52
+ # +:id+ , +:name+ , +:multiplier+ , +:start_date+ , +:end_date+ , +:month+ , +:day_of_month+ , +:year+ , +:total_site_energy_kwh+ , +:total_source_energy_kwh+ , +:site_EUI_kwh_per_m2+, +:site_EUI_kbtu_per_ft2+, +:source_EUI_kwh_per_m2+, +:source_EUI_kbtu_per_ft2+,
53
+ # +:net_site_energy_kwh+ , +:net_source_energy_kwh+ , +:total_utility_cost_dollar , +:net_utility_cost_dollar+ , +:utility_costs_dollar+ , +:electricity_kwh+ , +:natural_gas_kwh+ , +:propane_kwh+ , +:fuel_oil_kwh+ , +:other_fuels_kwh+ , +:district_cooling_kwh+ ,
54
54
  # +:district_heating_kwh+ , +:water_qbft+ , +:electricity_produced_kwh+ , +:end_uses+ , +:energy_production_kwh+ , +:photovoltaic_kwh+ ,
55
55
  # +:fuel_type+ , +:total_cost_dollar+ , +:usage_cost_dollar+ , +:demand_cost_dollar+ , +:comfort_result+ , +:time_setpoint_not_met_during_occupied_cooling+ ,
56
56
  # +:time_setpoint_not_met_during_occupied_heating+ , +:time_setpoint_not_met_during_occupied_hours+
@@ -70,14 +70,20 @@ module URBANopt
70
70
 
71
71
  @total_site_energy_kwh = hash[:total_site_energy_kwh]
72
72
  @total_source_energy_kwh = hash[:total_source_energy_kwh]
73
- @net_site_energy_kwh = hash [:net_site_energy_kwh]
74
- @net_source_energy_kwh = hash [:net_source_energy_kwh]
75
- @net_utility_cost_dollar = hash [:net_utility_cost_dollar]
76
- @total_utility_cost_dollar = hash [:total_utility_cost_dollar]
77
- @electricity_kwh = hash [:electricity_kwh]
78
- @natural_gas_kwh = hash [:natural_gas_kwh]
79
- @additional_fuel_kwh = hash [:additional_fuel_kwh]
80
- @district_cooling_kwh = hash [:district_cooling_kwh]
73
+ @site_EUI_kwh_per_m2 = hash[:site_EUI_kwh_per_m2]
74
+ @site_EUI_kbtu_per_ft2 = hash[:site_EUI_kbtu_per_ft2]
75
+ @source_EUI_kwh_per_m2 = hash[:source_EUI_kwh_per_m2]
76
+ @source_EUI_kbtu_per_ft2 = hash[:source_EUI_kbtu_per_ft2]
77
+ @net_site_energy_kwh = hash[:net_site_energy_kwh]
78
+ @net_source_energy_kwh = hash[:net_source_energy_kwh]
79
+ @net_utility_cost_dollar = hash[:net_utility_cost_dollar]
80
+ @total_utility_cost_dollar = hash[:total_utility_cost_dollar]
81
+ @electricity_kwh = hash[:electricity_kwh]
82
+ @natural_gas_kwh = hash[:natural_gas_kwh]
83
+ @propane_kwh = hash[:propane_kwh]
84
+ @fuel_oil_kwh = hash[:fuel_oil_kwh]
85
+ @other_fuels_kwh = hash[:other_fuels_kwh]
86
+ @district_cooling_kwh = hash[:district_cooling_kwh]
81
87
  @district_heating_kwh = hash[:district_heating_kwh]
82
88
  @water_qbft = hash[:water_qbft]
83
89
  @electricity_produced_kwh = hash[:electricity_produced_kwh]
@@ -108,14 +114,20 @@ module URBANopt
108
114
 
109
115
  hash[:total_site_energy_kwh] = nil
110
116
  hash[:total_source_energy_kwh] = nil
111
- hash [:net_site_energy_kwh] = nil
112
- hash [:net_source_energy_kwh] = nil
113
- hash [:net_utility_cost_dollar] = nil
114
- hash [:total_utility_cost_dollar] = nil
115
- hash [:electricity_kwh] = nil
116
- hash [:natural_gas_kwh] = nil
117
- hash [:additional_fuel_kwh] = nil
118
- hash [:district_cooling_kwh] = nil
117
+ hash[:site_EUI_kwh_per_m2] = nil
118
+ hash[:site_EUI_kbtu_per_ft2] = nil
119
+ hash[:source_EUI_kwh_per_m2] = nil
120
+ hash[:source_EUI_kbtu_per_ft2] = nil
121
+ hash[:net_site_energy_kwh] = nil
122
+ hash[:net_source_energy_kwh] = nil
123
+ hash[:net_utility_cost_dollar] = nil
124
+ hash[:total_utility_cost_dollar] = nil
125
+ hash[:electricity_kwh] = nil
126
+ hash[:natural_gas_kwh] = nil
127
+ hash[:propane_kwh] = nil
128
+ hash[:fuel_oil_kwh] = nil
129
+ hash[:other_fuels_kwh] = nil
130
+ hash[:district_cooling_kwh] = nil
119
131
  hash[:district_heating_kwh] = nil
120
132
 
121
133
  hash[:electricity_produced_kwh] = nil
@@ -144,13 +156,19 @@ module URBANopt
144
156
  result[:end_date] = @end_date.to_hash if @end_date
145
157
  result[:total_site_energy_kwh] = @total_site_energy_kwh if @total_site_energy_kwh
146
158
  result[:total_source_energy_kwh] = @total_source_energy_kwh if @total_source_energy_kwh
159
+ result[:site_EUI_kwh_per_m2] = @site_EUI_kwh_per_m2 if @site_EUI_kwh_per_m2
160
+ result[:site_EUI_kbtu_per_ft2] = @site_EUI_kbtu_per_ft2 if @site_EUI_kbtu_per_ft2
161
+ result[:source_EUI_kwh_per_m2] = @source_EUI_kwh_per_m2 if @source_EUI_kwh_per_m2
162
+ result[:source_EUI_kbtu_per_ft2] = @source_EUI_kbtu_per_ft2 if @source_EUI_kbtu_per_ft2
147
163
  result[:net_site_energy_kwh] = @net_site_energy_kwh if @net_site_energy_kwh
148
164
  result[:net_source_energy_kwh] = @net_source_energy_kwh if @net_source_energy_kwh
149
165
  result[:net_utility_cost_dollar] = @net_utility_cost_dollar if @net_utility_cost_dollar
150
166
  result[:total_utility_cost_dollar] = @total_utility_cost_dollar if @total_utility_cost_dollar
151
167
  result[:electricity_kwh] = @electricity_kwh if @electricity_kwh
152
168
  result[:natural_gas_kwh] = @natural_gas_kwh if @natural_gas_kwh
153
- result[:additional_fuel_kwh] = @additional_fuel_kwh if @additional_fuel_kwh
169
+ result[:propane_kwh] = @propane_kwh if @propane_kwh
170
+ result[:fuel_oil_kwh] = @fuel_oil_kwh if @fuel_oil_kwh
171
+ result[:other_fuels_kwh] = @other_fuels_kwh if @other_fuels_kwh
154
172
  result[:district_cooling_kwh] = @district_cooling_kwh if @district_cooling_kwh
155
173
  result[:district_heating_kwh] = @district_heating_kwh if @district_heating_kwh
156
174
  result[:water_qbft] = @water_qbft if @water_qbft
@@ -218,7 +236,9 @@ module URBANopt
218
236
  existing_period.total_utility_cost_dollar = add_values(existing_period.total_utility_cost_dollar, new_period.total_utility_cost_dollar)
219
237
  existing_period.electricity_kwh = add_values(existing_period.electricity_kwh, new_period.electricity_kwh)
220
238
  existing_period.natural_gas_kwh = add_values(existing_period.natural_gas_kwh, new_period.natural_gas_kwh)
221
- existing_period.additional_fuel_kwh = add_values(existing_period.additional_fuel_kwh, new_period.additional_fuel_kwh)
239
+ existing_period.propane_kwh = add_values(existing_period.propane_kwh, new_period.propane_kwh)
240
+ existing_period.fuel_oil_kwh = add_values(existing_period.fuel_oil_kwh, new_period.fuel_oil_kwh)
241
+ existing_period.other_fuels_kwh = add_values(existing_period.other_fuels_kwh, new_period.other_fuels_kwh)
222
242
  existing_period.district_cooling_kwh = add_values(existing_period.district_cooling_kwh, new_period.district_cooling_kwh)
223
243
  existing_period.district_heating_kwh = add_values(existing_period.district_heating_kwh, new_period.district_heating_kwh)
224
244
  existing_period.water_qbft = add_values(existing_period.water_qbft, new_period.water_qbft)
@@ -185,10 +185,13 @@ module URBANopt
185
185
  @timeseries_csv.path = File.join(@directory_name, file_name + '.csv')
186
186
  end
187
187
 
188
- # save the feature reports csv and json data
189
- # @feature_reports.each do |feature_report|
190
- # feature_report.save_feature_report()
191
- # end
188
+ if file_name == 'default_scenario_report'
189
+ file_name = 'default_feature_report'
190
+ end
191
+ #save the feature reports csv and json data
192
+ @feature_reports.each do |feature_report|
193
+ feature_report.save file_name
194
+ end
192
195
 
193
196
  return true
194
197
  end
@@ -2,6 +2,9 @@ Datetime
2
2
  Electricity:Facility
3
3
  ElectricityProduced:Facility
4
4
  Gas:Facility
5
+ Propane:Facility
6
+ FuelOil#2:Facility
7
+ OtherFuels:Facility
5
8
  Cooling:Electricity
6
9
  Heating:Electricity
7
10
  InteriorLights:Electricity
@@ -15,6 +18,18 @@ HeatRejection:Gas
15
18
  Heating:Gas
16
19
  WaterSystems:Gas
17
20
  InteriorEquipment:Gas
21
+ HeatRejection:Propane
22
+ Heating:Propane
23
+ WaterSystems:Propane
24
+ InteriorEquipment:Propane
25
+ HeatRejection:FuelOil#2
26
+ Heating:FuelOil#2
27
+ WaterSystems:FuelOil#2
28
+ InteriorEquipment:FuelOil#2
29
+ HeatRejection:OtherFuels
30
+ Heating:OtherFuels
31
+ WaterSystems:OtherFuels
32
+ InteriorEquipment:OtherFuels
18
33
  DistrictCooling:Facility
19
34
  DistrictHeating:Facility
20
35
  District Cooling Chilled Water Rate
@@ -271,6 +271,18 @@
271
271
  "description": "Total source energy used, does not include generation (kWh)",
272
272
  "type": "number"
273
273
  },
274
+ "site_EUI_kwh_per_m2": {
275
+ "type": "number"
276
+ },
277
+ "site_EUI_kBtu_per_ft2": {
278
+ "type": "number"
279
+ },
280
+ "source_EUI_kwh_per_m2": {
281
+ "type": "number"
282
+ },
283
+ "source_EUI_kBtu_per_ft2": {
284
+ "type": "number"
285
+ },
274
286
  "net_site_energy_kwh": {
275
287
  "description": "Net site energy (kWh)",
276
288
  "type": "number"
@@ -301,8 +313,16 @@
301
313
  "description": "Sum of all natural gas end uses consumption (kWh)",
302
314
  "type": "number"
303
315
  },
304
- "additional_fuel_kwh": {
305
- "description": "Sum of all additional fuel end uses consumption (kWh)",
316
+ "propane_kwh": {
317
+ "description": "Sum of all propane end uses consumption (kWh)",
318
+ "type": "number"
319
+ },
320
+ "fuel_oil_kwh": {
321
+ "description": "Sum of all fuel oil #2 end uses consumption (kWh)",
322
+ "type": "number"
323
+ },
324
+ "other_fuels_kwh": {
325
+ "description": "Sum of all other (fuel oil #1, diesel, gasoline, coal, steam) fuel end uses consumption (kWh)",
306
326
  "type": "number"
307
327
  },
308
328
  "district_cooling_kwh": {
@@ -371,7 +391,13 @@
371
391
  "natural_gas_kwh": {
372
392
  "$ref": "#/definitions/EndUse"
373
393
  },
374
- "additional_fuel_kwh": {
394
+ "propane_kwh": {
395
+ "$ref": "#/definitions/EndUse"
396
+ },
397
+ "fuel_oil_kwh": {
398
+ "$ref": "#/definitions/EndUse"
399
+ },
400
+ "other_fuels_kwh": {
375
401
  "$ref": "#/definitions/EndUse"
376
402
  },
377
403
  "district_cooling_kwh": {
@@ -522,9 +548,11 @@
522
548
  "enum": [
523
549
  "Electricity",
524
550
  "Natural Gas",
551
+ "Propane",
552
+ "Fuel Oil",
525
553
  "District Cooling",
526
554
  "District Heating",
527
- "Additional Fuel",
555
+ "Other Fuels",
528
556
  "Water"
529
557
  ]
530
558
  },
@@ -873,4 +901,4 @@
873
901
  }
874
902
  }
875
903
  }
876
- }
904
+ }
@@ -30,6 +30,6 @@
30
30
 
31
31
  module URBANopt
32
32
  module Reporting
33
- VERSION = '0.2.1'.freeze
33
+ VERSION = '0.3.4'.freeze
34
34
  end
35
35
  end
@@ -29,5 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'rspec', '~> 3.7'
30
30
  spec.add_runtime_dependency 'json-schema', '~> 2.8'
31
31
  spec.add_runtime_dependency 'json_pure', '~> 2.3'
32
- spec.add_runtime_dependency 'openstudio-extension', '~> 0.2.5'
32
+ spec.add_runtime_dependency 'openstudio-extension', '~> 0.3.2'
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.2.1
4
+ version: 0.3.4
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-11-12 00:00:00.000000000 Z
12
+ date: 2021-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -87,14 +87,14 @@ dependencies:
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: 0.2.5
90
+ version: 0.3.2
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.5
97
+ version: 0.3.2
98
98
  description: Library include scenario default reporting measure and scenario defaults
99
99
  reports schema and classes
100
100
  email:
@@ -144,6 +144,21 @@ files:
144
144
  - lib/measures/default_feature_reports/README.md.erb
145
145
  - lib/measures/default_feature_reports/measure.rb
146
146
  - lib/measures/default_feature_reports/measure.xml
147
+ - lib/measures/export_modelica_loads/LICENSE.md
148
+ - lib/measures/export_modelica_loads/README.md
149
+ - lib/measures/export_modelica_loads/README.md.erb
150
+ - lib/measures/export_modelica_loads/docs/.gitkeep
151
+ - lib/measures/export_modelica_loads/measure.rb
152
+ - lib/measures/export_modelica_loads/measure.xml
153
+ - lib/measures/export_modelica_loads/resources/report.html.in
154
+ - lib/measures/export_time_series_modelica/LICENSE.md
155
+ - lib/measures/export_time_series_modelica/README.md
156
+ - lib/measures/export_time_series_modelica/README.md.erb
157
+ - lib/measures/export_time_series_modelica/docs/.gitkeep
158
+ - lib/measures/export_time_series_modelica/measure.rb
159
+ - lib/measures/export_time_series_modelica/measure.xml
160
+ - lib/measures/export_time_series_modelica/resources/os_lib_helper_methods.rb
161
+ - lib/measures/export_time_series_modelica/resources/report.html.in
147
162
  - lib/urbanopt/reporting.rb
148
163
  - lib/urbanopt/reporting/default_reports.rb
149
164
  - lib/urbanopt/reporting/default_reports/construction_cost.rb