urbanopt-reporting 0.3.1 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -2
  3. data/docs/package-lock.json +3 -3
  4. data/docs/package.json +1 -1
  5. data/lib/measures/default_feature_reports/measure.rb +78 -32
  6. data/lib/measures/default_feature_reports/measure.xml +3 -3
  7. data/lib/measures/export_modelica_loads/LICENSE.md +27 -0
  8. data/lib/measures/export_modelica_loads/README.md +26 -0
  9. data/lib/measures/export_modelica_loads/README.md.erb +42 -0
  10. data/lib/measures/export_modelica_loads/docs/.gitkeep +0 -0
  11. data/lib/measures/export_modelica_loads/measure.rb +374 -0
  12. data/lib/measures/export_modelica_loads/measure.xml +92 -0
  13. data/lib/measures/export_modelica_loads/resources/report.html.in +13 -0
  14. data/lib/measures/export_time_series_modelica/LICENSE.md +1 -0
  15. data/lib/measures/export_time_series_modelica/README.md +59 -0
  16. data/lib/measures/export_time_series_modelica/README.md.erb +42 -0
  17. data/lib/measures/export_time_series_modelica/docs/.gitkeep +0 -0
  18. data/lib/measures/export_time_series_modelica/measure.rb +430 -0
  19. data/lib/measures/export_time_series_modelica/measure.xml +147 -0
  20. data/lib/measures/export_time_series_modelica/resources/os_lib_helper_methods.rb +399 -0
  21. data/lib/measures/export_time_series_modelica/resources/report.html.in +13 -0
  22. data/lib/urbanopt/reporting/default_reports/end_use.rb +38 -17
  23. data/lib/urbanopt/reporting/default_reports/feature_report.rb +52 -4
  24. data/lib/urbanopt/reporting/default_reports/reporting_period.rb +14 -2
  25. data/lib/urbanopt/reporting/default_reports/scenario_report.rb +10 -5
  26. data/lib/urbanopt/reporting/default_reports/schema/scenario_csv_columns.txt +11 -10
  27. data/lib/urbanopt/reporting/default_reports/schema/scenario_schema.json +27 -12
  28. data/lib/urbanopt/reporting/version.rb +1 -1
  29. data/urbanopt-reporting-gem.gemspec +1 -1
  30. metadata +19 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 29081aa7029141d2d9a0a8c5377cf2032933c84e2e9025636184c1cbc345c661
4
- data.tar.gz: 9a77ed54a8bf0a65e713cd0693e6eb1a3b0b6f26773c57ff2e234ac97d34ab4f
3
+ metadata.gz: 62dbeebffeb4088f111f04c86062b6c2db3a9f061ccf7dc6a84b1a5824456272
4
+ data.tar.gz: 705785c0bdbe0725ab6814be1a263627f1daf64d8cddab12efce59276bdca1bf
5
5
  SHA512:
6
- metadata.gz: d8363915252d917051b1c7ed04001e8ec02e8087eb3ff8cfbc36dc6c7f1a10b9925e66e7a361a219ed76317e45f90fa2f857b7d8baadea243ce8913e62293d59
7
- data.tar.gz: 7275975a372494f5ec09ea29da191902c200aa449aab5f86cd04ab1487f0231c87a226f797e9003de6854f63c477b9c60336a344fb5eb43790760e035688055a
6
+ metadata.gz: a76f98043801029d98477f18fa123aafd5f84fc46977b5ebb2ee946d1d09b68d7d560e392e87418742abc66faf7ebc8df9cd9be65e1d18e9183e0a259d7d353e
7
+ data.tar.gz: 87e1cd2f3615e3845f50c7af04d685c72cc4242bb5d545f20c6821807cf55196c65a4a328534cb850069225d2653b2d1b4872cf4d3f07d7e9deea85c3502f4a8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # URBANopt Reporting Gem
2
2
 
3
+ ## Version 0.3.6
4
+
5
+ Date Range: 02/05/21 - 02/11/21
6
+
7
+ - Fixed [#64]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/64 ), EnergyPlus changed output fuel names in version 9.4
8
+
9
+ ## Version 0.3.5
10
+
11
+ Date Range: 01/16/21 - 02/04/21
12
+
13
+ - Fixed [#58]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/58 ), Feature report saving bug fix.
14
+ - Fixed [#60]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/60 ), Added EV/ ExteriorEquipment results to csv and json reports
15
+ - Fixed [#61]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/61 ), Enhance the aggregation of enduses.
16
+
17
+
18
+ ## Version 0.3.4
19
+
20
+ Date Range: 01/14/21 - 01/15/21
21
+
22
+ - Fixed [#53]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/53 ), Make subfolders in feature saving if necessary
23
+ - Fixed [#55]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/55 ), Fix new measures
24
+
25
+ ## Version 0.3.3
26
+
27
+ Date Range: 12/09/20 - 01/13/21
28
+
29
+ - Fixed [#36]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/36 ), Add reporting measure for district heating/cooling system mass flow rates
30
+ - Fixed [#37]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/37 ), Add EUI to default report
31
+ - Fixed [#38]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/38 ), Add better error handling around convert_units
32
+ - Fixed [#43]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/43 ), Add available_roof_area calculation
33
+ - Fixed [#44]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/44 ), Fix coordinates order
34
+
35
+ ## Version 0.3.2
36
+
37
+ Date Range: 12/07/20 - 12/08/20
38
+
39
+ - Fixed [#27]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/27 ), reporting measure fails when there are no additional fuels in the model
40
+ - Fixed [#29]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/29 ), restore save_feature_report function for backward compatibility
41
+ - Fixed [#32]( https://github.com/urbanopt/urbanopt-reporting-gem/issues/32 ), bump extension-gem dependency
42
+
3
43
  ## Version 0.3.1
4
44
 
5
45
  Date Range: 11/26/2020 - 12/07/2020
@@ -11,7 +51,7 @@ Date Range: 11/26/2020 - 12/07/2020
11
51
  ## Version 0.3.0
12
52
 
13
53
  Date Range: 11/12/2020 - 11/25/2020
14
-
54
+
15
55
  - Updating dependencies to support OpenStudio 3.1.0
16
56
 
17
57
  ## Version 0.2.1
@@ -43,4 +83,4 @@ Date Range: 08/27/2020 - 09/21/2020
43
83
 
44
84
  08/17/2020
45
85
 
46
- Initial release of the urbanopt-reporting gem.
86
+ Initial release of the urbanopt-reporting gem.
@@ -4814,9 +4814,9 @@
4814
4814
  "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ=="
4815
4815
  },
4816
4816
  "highlight.js": {
4817
- "version": "10.3.1",
4818
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.3.1.tgz",
4819
- "integrity": "sha512-jeW8rdPdhshYKObedYg5XGbpVgb1/DT4AHvDFXhkU7UnGSIjy9kkJ7zHG7qplhFHMitTSzh5/iClKQk3Kb2RFQ=="
4817
+ "version": "10.4.1",
4818
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.1.tgz",
4819
+ "integrity": "sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg=="
4820
4820
  },
4821
4821
  "hmac-drbg": {
4822
4822
  "version": "1.0.1",
data/docs/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "author": "NREL",
12
12
  "dependencies": {
13
- "highlight.js": "^10.3.1",
13
+ "highlight.js": "^10.4.1",
14
14
  "json-schema-ref-parser": "^9.0.6",
15
15
  "json-schema-view-js": "git+https://git@github.com/bgschiller/json-schema-view-js.git",
16
16
  "vuepress": "^1.7.1",
@@ -101,10 +101,9 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
101
101
  def fuel_types
102
102
  fuel_types = {
103
103
  'Electricity' => 'Electricity',
104
- 'Gas' => 'Natural Gas',
105
- 'FuelOil#2' => 'Fuel Oil #2',
104
+ 'NaturalGas' => 'Natural Gas',
105
+ 'FuelOilNo2' => 'Fuel Oil #2',
106
106
  'Propane' => 'Propane',
107
- 'AdditionalFuel' => 'Additional Fuel',
108
107
  'DistrictCooling' => 'District Cooling',
109
108
  'DistrictHeating' => 'District Heating',
110
109
  'Water' => 'Water'
@@ -165,9 +164,9 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
165
164
 
166
165
  # Request the output for each end use/fuel type combination
167
166
  end_uses.each do |end_use|
168
- end_use, _ = end_use
167
+ end_use, = end_use
169
168
  fuel_types.each do |fuel_type|
170
- fuel_type, _ = fuel_type
169
+ fuel_type, = fuel_type
171
170
  variable_name = if end_use == 'Facility'
172
171
  "#{fuel_type}:#{end_use}"
173
172
  else
@@ -178,17 +177,17 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
178
177
  end
179
178
 
180
179
  # OtherFuels
181
- other_fuels = ["FuelOil#1", "Diesel", "Gasoline", "Coal", "Steam"]
182
- other_fuel_uses = ["HeatRejection", "Heating", "WaterSystems", "InteriorEquipment"]
183
- custom_meter_facility = "Meter:Custom,OtherFuels:Facility,OtherFuel1"
180
+ other_fuels = ['FuelOil#1', 'Diesel', 'Gasoline', 'Coal', 'Steam']
181
+ other_fuel_uses = ['HeatRejection', 'Heating', 'WaterSystems', 'InteriorEquipment']
182
+ custom_meter_facility = 'Meter:Custom,OtherFuels:Facility,OtherFuel1'
184
183
  other_fuel_uses.each do |end_use|
185
184
  custom_meter = "Meter:Custom,#{end_use}:OtherFuels,OtherFuel1"
186
- other_fuels.each do |other_fuel|
185
+ other_fuels.each do |other_fuel|
187
186
  result << OpenStudio::IdfObject.load("Output:Meter,#{end_use}:#{other_fuel},#{reporting_frequency};").get
188
187
  custom_meter_facility += ",,#{end_use}:#{other_fuel}"
189
188
  custom_meter += ",,#{end_use}:#{other_fuel}"
190
189
  end
191
- custom_meter += ";"
190
+ custom_meter += ';'
192
191
  result << OpenStudio::IdfObject.load(custom_meter).get
193
192
  result << OpenStudio::IdfObject.load("Output:Meter,#{end_use}:OtherFuels,#{reporting_frequency};").get
194
193
  end
@@ -201,6 +200,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
201
200
  result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,Gas:Facility,#{reporting_frequency};").get
202
201
  result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,DistrictCooling:Facility,#{reporting_frequency};").get
203
202
  result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,DistrictHeating:Facility,#{reporting_frequency};").get
203
+
204
204
  # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,Cooling:Electricity,#{reporting_frequency};").get
205
205
  # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,Heating:Electricity,#{reporting_frequency};").get
206
206
  # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,InteriorLights:Electricity,#{reporting_frequency};").get
@@ -209,18 +209,22 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
209
209
  # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,Fans:Electricity,#{reporting_frequency};").get
210
210
  # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,Pumps:Electricity,#{reporting_frequency};").get
211
211
  # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,WaterSystems:Electricity,#{reporting_frequency};").get
212
- # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,Heating:Gas,#{reporting_frequency};").get
213
- # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,WaterSystems:Gas,#{reporting_frequency};").get
214
- # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,InteriorEquipment:Gas,#{reporting_frequency};").get
212
+ # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,Heating:NaturalGas,#{reporting_frequency};").get
213
+ # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,WaterSystems:NaturalGas,#{reporting_frequency};").get
214
+ # result << OpenStudio::IdfObject.load("Output:Meter:MeterFileOnly,InteriorEquipment:NaturalGas,#{reporting_frequency};").get
215
215
  result << OpenStudio::IdfObject.load('Output:Variable,*,Heating Coil Heating Rate,hourly; !- HVAC Average [W];').get
216
+ # result << OpenStudio::IdfObject.load("Output:Variable,*,Exterior Equipment:Electric Vehicles,#{reporting_frequency};").get
216
217
 
217
218
  timeseries_data = ['District Cooling Chilled Water Rate', 'District Cooling Mass Flow Rate',
218
219
  'District Cooling Inlet Temperature', 'District Cooling Outlet Temperature',
219
220
  'District Heating Hot Water Rate', 'District Heating Mass Flow Rate',
220
221
  'District Heating Inlet Temperature', 'District Heating Outlet Temperature', 'Cooling Coil Total Cooling Rate',
221
- 'Heating Coil Heating Rate']
222
+ 'Heating Coil Heating Rate', 'ExteriorEquipment:Electricity']
222
223
 
223
224
  tes_timeseries_data = ['Ice Thermal Storage End Fraction', 'Cooling coil Ice Thermal Storage End Fraction']
225
+
226
+ ev_timeseries_data = ['Exterior Equipment:Electric Vehicles']
227
+
224
228
  timeseries_data += tes_timeseries_data
225
229
 
226
230
  timeseries_data.each do |ts|
@@ -258,6 +262,11 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
258
262
  if value.nil?
259
263
  return nil
260
264
  end
265
+ if from_units.nil? || to_units.nil?
266
+ @runner.registerError("Cannot convert units...from_units: #{from_units} or to_units: #{to_units} left blank.")
267
+ return nil
268
+ end
269
+
261
270
  # apply unit conversion
262
271
  value_converted = OpenStudio.convert(value, from_units, to_units)
263
272
  if value_converted.is_initialized
@@ -353,10 +362,10 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
353
362
  ##
354
363
 
355
364
  if feature_location.include? '['
356
- # get latitude from feature_location
357
- latitude = (feature_location.split(',')[0].delete! '[]').to_f
358
365
  # get longitude from feature_location
359
- longitude = (feature_location.split(',')[1].delete! '[]').to_f
366
+ longitude = (feature_location.split(',')[0].delete! '[]').to_f
367
+ # get latitude from feature_location
368
+ latitude = (feature_location.split(',')[1].delete! '[]').to_f
360
369
  # latitude
361
370
  feature_report.location.latitude_deg = latitude
362
371
  # longitude
@@ -495,7 +504,22 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
495
504
  total_roof_area += surface.netArea
496
505
  end
497
506
  end
498
- feature_report.program.roof_area_sqft[:total_roof_area_sqft] = convert_units(total_roof_area, 'm^2', 'ft^2')
507
+
508
+ total_roof_area_sqft = convert_units(total_roof_area, 'm^2', 'ft^2')
509
+ feature_report.program.roof_area_sqft[:total_roof_area_sqft] = total_roof_area_sqft
510
+
511
+ # available_roof_area_sqft
512
+ # RK: a more robust method should be implemented to find the available_roof_area
513
+ # assign available roof area to be a percentage of the total roof area
514
+
515
+ if building_types[0][:building_type].include? 'Single-Family Detached'
516
+ feature_report.program.roof_area_sqft[:available_roof_area_sqft] = 0.45 * total_roof_area_sqft
517
+ else
518
+ feature_report.program.roof_area_sqft[:available_roof_area_sqft] = 0.75 * total_roof_area_sqft
519
+ end
520
+
521
+ # RK: Temporary solution: assign available roof area to be equal to total roof area
522
+ # feature_report.program.roof_area_sqft[:available_roof_area_sqft] = total_roof_area_sqft
499
523
 
500
524
  # orientation
501
525
  # RK: a more robust method should be implemented to find orientation(finding main axis of the building using aspect ratio)
@@ -581,6 +605,22 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
581
605
  total_source_energy = sql_query(runner, sql_file, 'AnnualBuildingUtilityPerformanceSummary', "TableName='Site and Source Energy' AND RowName='Total Source Energy' AND ColumnName='Total Energy'")
582
606
  feature_report.reporting_periods[0].total_source_energy_kwh = convert_units(total_source_energy, 'GJ', 'kWh')
583
607
 
608
+ # EUI is only valid with a full year of energy data
609
+ if begin_month == 1 && begin_day_of_month == 1 && end_month == 12 && end_day_of_month == 31
610
+ # calculate site EUI
611
+ site_EUI_kwh_per_m2 = feature_report.reporting_periods[0].total_site_energy_kwh / floor_area
612
+ site_EUI_kbtu_per_ft2 = convert_units(total_site_energy, 'GJ', 'kBtu') / feature_report.program.floor_area_sqft
613
+ # add site EUI to feature report
614
+ feature_report.reporting_periods[0].site_EUI_kwh_per_m2 = site_EUI_kwh_per_m2
615
+ feature_report.reporting_periods[0].site_EUI_kbtu_per_ft2 = site_EUI_kbtu_per_ft2
616
+ # calculate source EUI
617
+ source_EUI_kwh_per_m2 = feature_report.reporting_periods[0].total_source_energy_kwh / floor_area
618
+ source_EUI_kbtu_per_ft2 = convert_units(total_source_energy, 'GJ', 'kBtu') / feature_report.program.floor_area_sqft
619
+ # add source EUI to feature report
620
+ feature_report.reporting_periods[0].source_EUI_kwh_per_m2 = source_EUI_kwh_per_m2
621
+ feature_report.reporting_periods[0].source_EUI_kbtu_per_ft2 = source_EUI_kbtu_per_ft2
622
+ end
623
+
584
624
  # net_site_energy
585
625
  net_site_energy = sql_query(runner, sql_file, 'AnnualBuildingUtilityPerformanceSummary', "TableName='Site and Source Energy' AND RowName='Net Site Energy' AND ColumnName='Total Energy'")
586
626
  feature_report.reporting_periods[0].net_site_energy_kwh = convert_units(net_site_energy, 'GJ', 'kWh')
@@ -603,7 +643,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
603
643
  feature_report.reporting_periods[0].propane_kwh = convert_units(propane, 'GJ', 'kWh') unless propane.nil?
604
644
 
605
645
  # fuel_oil
606
- fuel_oil = sql_query(runner, sql_file, 'EnergyMeters', "TableName='Annual and Peak Values - Other' AND RowName='FuelOil#2:Facility' AND ColumnName='Annual Value'")
646
+ fuel_oil = sql_query(runner, sql_file, 'EnergyMeters', "TableName='Annual and Peak Values - Other' AND RowName='FuelOilNo2:Facility' AND ColumnName='Annual Value'")
607
647
  feature_report.reporting_periods[0].fuel_oil_kwh = 0.0
608
648
  feature_report.reporting_periods[0].fuel_oil_kwh = convert_units(fuel_oil, 'GJ', 'kWh') unless fuel_oil.nil?
609
649
 
@@ -698,12 +738,17 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
698
738
  sql_r -= feature_report.reporting_periods[0].end_uses.fuel_oil_kwh.send(y)
699
739
  end
700
740
  building_types.each do |i|
701
- sql_r = 0.0 if (i[:building_type].include?('Single-Family Detached') && x_u.include?('district'))
741
+ sql_r = 0.0 if i[:building_type].include?('Single-Family Detached') && x_u.include?('district')
702
742
  end
703
743
  m.send("#{y}=", sql_r)
704
744
  end
705
745
  end
706
746
 
747
+ # add enduses subcategories
748
+ electric_vehicles = sql_query(runner, sql_file, 'AnnualBuildingUtilityPerformanceSummary', "TableName='End Uses By Subcategory' AND RowName='Exterior Equipment:Electric Vehicles' AND ColumnName='Electricity'")
749
+ puts "electric_vehicle = #{electric_vehicles}"
750
+ feature_report.reporting_periods[0].end_uses.electricity_kwh.electric_vehicles = convert_units(electric_vehicles, 'GJ', 'kWh')
751
+
707
752
  ### energy_production
708
753
  ## electricity_produced
709
754
  # photovoltaic
@@ -758,31 +803,32 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
758
803
  requested_timeseries_names = [
759
804
  'Electricity:Facility',
760
805
  'ElectricityProduced:Facility',
761
- 'Gas:Facility',
806
+ 'NaturalGas:Facility',
762
807
  'Propane:Facility',
763
- 'FuelOil#2:Facility',
808
+ 'FuelOilNo2:Facility',
764
809
  'OtherFuels:Facility',
765
810
  'Cooling:Electricity',
766
811
  'Heating:Electricity',
767
812
  'InteriorLights:Electricity',
768
813
  'ExteriorLights:Electricity',
769
814
  'InteriorEquipment:Electricity',
815
+ 'ExteriorEquipment:Electricity',
770
816
  'Fans:Electricity',
771
817
  'Pumps:Electricity',
772
818
  'WaterSystems:Electricity',
773
819
  'HeatRejection:Electricity',
774
- 'HeatRejection:Gas',
775
- 'Heating:Gas',
776
- 'WaterSystems:Gas',
777
- 'InteriorEquipment:Gas',
820
+ 'HeatRejection:NaturalGas',
821
+ 'Heating:NaturalGas',
822
+ 'WaterSystems:NaturalGas',
823
+ 'InteriorEquipment:NaturalGas',
778
824
  'HeatRejection:Propane',
779
825
  'Heating:Propane',
780
826
  'WaterSystems:Propane',
781
827
  'InteriorEquipment:Propane',
782
- 'HeatRejection:FuelOil#2',
783
- 'Heating:FuelOil#2',
784
- 'WaterSystems:FuelOil#2',
785
- 'InteriorEquipment:FuelOil#2',
828
+ 'HeatRejection:FuelOilNo2',
829
+ 'Heating:FuelOilNo2',
830
+ 'WaterSystems:FuelOilNo2',
831
+ 'InteriorEquipment:FuelOilNo2',
786
832
  'HeatRejection:OtherFuels',
787
833
  'Heating:OtherFuels',
788
834
  'WaterSystems:OtherFuels',
@@ -850,7 +896,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
850
896
  puts " *********timeseries_name = #{timeseries_name}******************"
851
897
  runner.registerInfo("TIMESERIES: #{timeseries_name}")
852
898
 
853
- # get all the key values that this timeseries can be reported for (e.g. if PMV is requested for each zone)
899
+ # get all the key values that this timeseries can be reported for (e.g. if PMV is requested for each zone)
854
900
  if timeseries_name.include?('OtherFuels')
855
901
  key_values = sql_file.availableKeyValues('RUN PERIOD 1', 'Zone Timestep', timeseries_name.upcase)
856
902
  else
@@ -926,7 +972,7 @@ class DefaultFeatureReports < OpenStudio::Measure::ReportingMeasure
926
972
  # unit conversion
927
973
  old_unit = ts.get.units if ts.is_initialized
928
974
 
929
- if timeseries_name.include?('Gas') || timeseries_name.include?('Propane') || timeseries_name.include?('FuelOil#2') || timeseries_name.include?('OtherFuels')
975
+ if timeseries_name.include?('NaturalGas') || timeseries_name.include?('Propane') || timeseries_name.include?('FuelOilNo2') || timeseries_name.include?('OtherFuels')
930
976
  new_unit = 'kBtu'
931
977
  else
932
978
  new_unit = case old_unit.to_s
@@ -3,8 +3,8 @@
3
3
  <schema_version>3.0</schema_version>
4
4
  <name>default_feature_reports</name>
5
5
  <uid>9ee3135a-8070-4408-bfa1-b75fecf9dd4f</uid>
6
- <version_id>f9af7bd8-e9ce-41b4-b892-df29f235a9bd</version_id>
7
- <version_modified>20201201T173130Z</version_modified>
6
+ <version_id>d4f5b2e2-f93d-4ce2-9c68-ed29714fdc0c</version_id>
7
+ <version_modified>20201208T230102Z</version_modified>
8
8
  <xml_checksum>FB304155</xml_checksum>
9
9
  <class_name>DefaultFeatureReports</class_name>
10
10
  <display_name>DefaultFeatureReports</display_name>
@@ -153,7 +153,7 @@
153
153
  <filename>measure.rb</filename>
154
154
  <filetype>rb</filetype>
155
155
  <usage_type>script</usage_type>
156
- <checksum>B1E43E26</checksum>
156
+ <checksum>48AEB753</checksum>
157
157
  </file>
158
158
  </files>
159
159
  </measure>
@@ -0,0 +1,27 @@
1
+ OpenStudio(R), Copyright (c) 2008-2020, Alliance for Sustainable Energy, LLC. All rights reserved.
2
+
3
+ Redistribution and use in source and binary forms, with or without modification, are permitted
4
+ provided that the following conditions are met:
5
+
6
+ (1) Redistributions of source code must retain the above copyright notice, this list of conditions
7
+ and the following disclaimer.
8
+
9
+ (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions
10
+ and the following disclaimer in the documentation and/or other materials provided with the distribution.
11
+
12
+ (3) Neither the name of the copyright holder nor the names of any contributors may be used to endorse
13
+ or promote products derived from this software without specific prior written permission from the
14
+ respective party.
15
+
16
+ (4) Other than as required in clauses (1) and (2), distributions in any form of modifications or other
17
+ derivative works may not use the "OpenStudio" trademark, "OS", "os", or any other confusingly similar
18
+ designation without specific prior written permission from Alliance for Sustainable Energy, LLC.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
21
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER, THE UNITED STATES GOVERNMENT,
23
+ OR ANY CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
25
+ OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,26 @@
1
+
2
+
3
+ ###### (Automatically generated documentation)
4
+
5
+ # Export Modelica Loads
6
+
7
+ ## Description
8
+ Use the results from the EnergyPlus simulation to generate a load file for use in Modelica. This will create a MOS and a CSV file of the heating, cooling, and hot water loads.
9
+
10
+ ## Modeler Description
11
+
12
+
13
+ ## Measure Type
14
+ ReportingMeasure
15
+
16
+ ## Taxonomy
17
+
18
+
19
+ ## Arguments
20
+
21
+
22
+
23
+
24
+ This measure does not have any user arguments
25
+
26
+
@@ -0,0 +1,42 @@
1
+ <%#= README.md.erb is used to auto-generate README.md. %>
2
+ <%#= To manually maintain README.md throw away README.md.erb and manually edit README.md %>
3
+ ###### (Automatically generated documentation)
4
+
5
+ # <%= name %>
6
+
7
+ ## Description
8
+ <%= description %>
9
+
10
+ ## Modeler Description
11
+ <%= modelerDescription %>
12
+
13
+ ## Measure Type
14
+ <%= measureType %>
15
+
16
+ ## Taxonomy
17
+ <%= taxonomy %>
18
+
19
+ ## Arguments
20
+
21
+ <% arguments.each do |argument| %>
22
+ ### <%= argument[:display_name] %>
23
+ <%= argument[:description] %>
24
+ **Name:** <%= argument[:name] %>,
25
+ **Type:** <%= argument[:type] %>,
26
+ **Units:** <%= argument[:units] %>,
27
+ **Required:** <%= argument[:required] %>,
28
+ **Model Dependent:** <%= argument[:model_dependent] %>
29
+ <% end %>
30
+
31
+ <% if arguments.size == 0 %>
32
+ <%= "This measure does not have any user arguments" %>
33
+ <% end %>
34
+
35
+ <% if outputs.size > 0 %>
36
+ ## Outputs
37
+ <% output_names = [] %>
38
+ <% outputs.each do |output| %>
39
+ <% output_names << output[:display_name] %>
40
+ <% end %>
41
+ <%= output_names.join(", ") %>
42
+ <% end %>