urbanopt-reporting 0.2.1 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
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