diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2155b7fd..96e1205a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## Version 0.9.1
+Date Range: 12/14/22 - 01/05/23:
+
+- Updates to support HPXML to 1.5.1 and OpenStudio 3.5.1
+- Updated copyrights for 2023
+
## Version 0.9.0
Date Range: 07/07/22 - 12/13/22:
diff --git a/LICENSE.md b/LICENSE.md
index b2b9d38e..b43be1b9 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
# License
-URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
contributors. All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
diff --git a/Rakefile b/Rakefile
index 9642e1f6..eff3559a 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/Baseline.rb b/example_files/mappers/Baseline.rb
index 2011baf6..62e9a38b 100644
--- a/example_files/mappers/Baseline.rb
+++ b/example_files/mappers/Baseline.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/ClassProject.rb b/example_files/mappers/ClassProject.rb
index bb93203a..0adc3d9d 100644
--- a/example_files/mappers/ClassProject.rb
+++ b/example_files/mappers/ClassProject.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/CreateBar.rb b/example_files/mappers/CreateBar.rb
index fa9d7f78..fd27149c 100644
--- a/example_files/mappers/CreateBar.rb
+++ b/example_files/mappers/CreateBar.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/EvCharging.rb b/example_files/mappers/EvCharging.rb
index 9a89161c..c0b36af2 100644
--- a/example_files/mappers/EvCharging.rb
+++ b/example_files/mappers/EvCharging.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/FlexibleHotWater.rb b/example_files/mappers/FlexibleHotWater.rb
index f27ab78f..d31afeb7 100644
--- a/example_files/mappers/FlexibleHotWater.rb
+++ b/example_files/mappers/FlexibleHotWater.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/Floorspace.rb b/example_files/mappers/Floorspace.rb
index ec643e3f..c762e057 100644
--- a/example_files/mappers/Floorspace.rb
+++ b/example_files/mappers/Floorspace.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/HighEfficiency.rb b/example_files/mappers/HighEfficiency.rb
index 643ffccb..8a1b4b32 100644
--- a/example_files/mappers/HighEfficiency.rb
+++ b/example_files/mappers/HighEfficiency.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/HighEfficiencyCreateBar.rb b/example_files/mappers/HighEfficiencyCreateBar.rb
index 2a30f988..d4cf610a 100644
--- a/example_files/mappers/HighEfficiencyCreateBar.rb
+++ b/example_files/mappers/HighEfficiencyCreateBar.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/HighEfficiencyFloorspace.rb b/example_files/mappers/HighEfficiencyFloorspace.rb
index 72e6825f..2dd1d4e4 100644
--- a/example_files/mappers/HighEfficiencyFloorspace.rb
+++ b/example_files/mappers/HighEfficiencyFloorspace.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/PeakHoursMelsShedding.rb b/example_files/mappers/PeakHoursMelsShedding.rb
index 589fb247..1d6a0f69 100644
--- a/example_files/mappers/PeakHoursMelsShedding.rb
+++ b/example_files/mappers/PeakHoursMelsShedding.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/PeakHoursThermostatAdjust.rb b/example_files/mappers/PeakHoursThermostatAdjust.rb
index 2b7a3ca4..66332d38 100644
--- a/example_files/mappers/PeakHoursThermostatAdjust.rb
+++ b/example_files/mappers/PeakHoursThermostatAdjust.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/mappers/ThermalStorage.rb b/example_files/mappers/ThermalStorage.rb
index 2ba5677b..e5beb40f 100644
--- a/example_files/mappers/ThermalStorage.rb
+++ b/example_files/mappers/ThermalStorage.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/example_files/measures/BuildResidentialModel/measure.xml b/example_files/measures/BuildResidentialModel/measure.xml
index 7cdadc00..ec09535e 100644
--- a/example_files/measures/BuildResidentialModel/measure.xml
+++ b/example_files/measures/BuildResidentialModel/measure.xml
@@ -3,8 +3,8 @@
3.0
build_residential_model
259dc35f-65e8-47d4-913f-69efede5a267
- 8bb0bd12-8c25-4c05-9477-e045ca9cde27
- 20221205T204142Z
+ b3c7ec2e-10f5-45d9-9a10-7527fec4565a
+ 20230105T165234Z
2C38F48B
BuildResidentialModel
Build Residential Model
@@ -6597,7 +6597,7 @@
measure.rb
rb
script
- 079A37C9
+ A1FFBF5C
diff --git a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb
index b6c55fde..5aa36868 100644
--- a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb
+++ b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.rb
@@ -51,6 +51,11 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
arg.setDefaultValue('smooth')
args << arg
+ arg = OpenStudio::Measure::OSArgument.makeStringArgument('schedules_column_names', false)
+ arg.setDisplayName('Schedules: Column Names')
+ arg.setDescription("A comma-separated list of the column names to generate. If not provided, defaults to all columns. Possible column names are: #{SchedulesFile.OccupancyColumnNames.join(', ')}.")
+ args << arg
+
arg = OpenStudio::Measure::OSArgument.makeStringArgument('schedules_vacancy_period', false)
arg.setDisplayName('Schedules: Vacancy Period')
arg.setDescription('Specifies the vacancy period. Enter a date like "Dec 15 - Jan 15".')
@@ -161,6 +166,7 @@ def create_schedules(runner, hpxml, epw_file, args)
info_msgs << "RandomSeed=#{args[:random_seed]}" if args[:schedules_random_seed].is_initialized
info_msgs << "GeometryNumOccupants=#{args[:geometry_num_occupants]}"
info_msgs << "VacancyPeriod=#{args[:schedules_vacancy_period].get}" if args[:schedules_vacancy_period].is_initialized
+ info_msgs << "ColumnNames=#{args[:column_names]}" if args[:schedules_column_names].is_initialized
runner.registerInfo("Created #{args[:schedules_type]} schedule with #{info_msgs.join(', ')}")
@@ -188,6 +194,7 @@ def get_generator_inputs(hpxml, epw_file, args)
args[:state] = hpxml.header.state_code if !hpxml.header.state_code.nil?
args[:random_seed] = args[:schedules_random_seed].get if args[:schedules_random_seed].is_initialized
+ args[:column_names] = args[:schedules_column_names].get.split(',').map(&:strip) if args[:schedules_column_names].is_initialized
if hpxml.building_occupancy.number_of_residents.nil?
args[:geometry_num_occupants] = Geometry.get_occupancy_default_num(hpxml.building_construction.number_of_bedrooms)
diff --git a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml
index 049b1927..add9eccd 100644
--- a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml
+++ b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/measure.xml
@@ -3,8 +3,8 @@
3.0
build_residential_schedule_file
f770b2db-1a9f-4e99-99a7-7f3161a594b1
- b9ab9559-30d8-4b1c-9757-8c911f80e937
- 20221031T233528Z
+ 3a88a262-1431-4bb9-a577-cd235aed6b1e
+ 20221201T013247Z
03F02484
BuildResidentialScheduleFile
Schedule File Builder
@@ -38,6 +38,14 @@
+
+ schedules_column_names
+ Schedules: Column Names
+ A comma-separated list of the column names to generate. If not provided, defaults to all columns. Possible column names are: occupants, lighting_interior, lighting_exterior, lighting_garage, lighting_exterior_holiday, cooking_range, refrigerator, extra_refrigerator, freezer, dishwasher, clothes_washer, clothes_dryer, ceiling_fan, plug_loads_other, plug_loads_tv, plug_loads_vehicle, plug_loads_well_pump, fuel_loads_grill, fuel_loads_lighting, fuel_loads_fireplace, pool_pump, pool_heater, hot_tub_pump, hot_tub_heater, hot_water_dishwasher, hot_water_clothes_washer, hot_water_fixtures.
+ String
+ false
+ false
+
schedules_vacancy_period
Schedules: Vacancy Period
@@ -890,11 +898,17 @@
resource
127D96AC
+
+ schedules.rb
+ rb
+ resource
+ AC348B70
+
build_residential_schedule_file_test.rb
rb
test
- 41CA164F
+ 10DD8842
@@ -905,13 +919,7 @@
measure.rb
rb
script
- 8FF07C66
-
-
- schedules.rb
- rb
- resource
- F2E6EBB8
+ 3D8ADC7F
diff --git a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb
index 54a9a2d3..27e8f703 100644
--- a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb
+++ b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/resources/schedules.rb
@@ -8,6 +8,7 @@ class ScheduleGenerator
def initialize(runner:,
epw_file:,
state:,
+ column_names: nil,
random_seed: nil,
minutes_per_step:,
steps_in_day:,
@@ -21,6 +22,7 @@ def initialize(runner:,
@runner = runner
@epw_file = epw_file
@state = state
+ @column_names = column_names
@random_seed = random_seed
@minutes_per_step = minutes_per_step
@steps_in_day = steps_in_day
@@ -60,6 +62,16 @@ def schedules
def create(args:)
initialize_schedules
+ if @column_names.nil?
+ @column_names = SchedulesFile.ColumnNames
+ end
+
+ invalid_columns = (@column_names - SchedulesFile.ColumnNames)
+ invalid_columns.each do |invalid_column|
+ @runner.registerError("Invalid column name specified: '#{invalid_column}'.")
+ end
+ return false unless invalid_columns.empty?
+
success = create_average_schedules
return false if not success
@@ -963,6 +975,9 @@ def sample_activity_duration(prng, activity_duration_prob_map, occ_type_id, acti
end
def export(schedules_path:)
+ (SchedulesFile.ColumnNames - @column_names).each do |col_to_remove|
+ @schedules.delete(col_to_remove)
+ end
CSV.open(schedules_path, 'w') do |csv|
csv << @schedules.keys
rows = @schedules.values.transpose
diff --git a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb
index 597c70dc..24d462e2 100644
--- a/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb
+++ b/example_files/resources/hpxml-measures/BuildResidentialScheduleFile/tests/build_residential_schedule_file_test.rb
@@ -180,6 +180,51 @@ def test_stochastic
assert(!sf.schedules.keys.include?(SchedulesFile::ColumnVacancy))
end
+ def test_stochastic_subset_of_columns
+ hpxml = _create_hpxml('base.xml')
+ XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
+
+ columns = [SchedulesFile::ColumnCookingRange,
+ SchedulesFile::ColumnDishwasher,
+ SchedulesFile::ColumnHotWaterDishwasher,
+ SchedulesFile::ColumnClothesWasher,
+ SchedulesFile::ColumnHotWaterClothesWasher,
+ SchedulesFile::ColumnClothesDryer,
+ SchedulesFile::ColumnHotWaterFixtures]
+
+ @args_hash['schedules_type'] = 'stochastic'
+ @args_hash['output_csv_path'] = File.absolute_path(File.join(@tmp_output_path, 'occupancy-stochastic.csv'))
+ @args_hash['schedules_column_names'] = columns.join(', ')
+ model, hpxml, result = _test_measure()
+
+ info_msgs = result.info.map { |x| x.logMessage }
+ assert(info_msgs.any? { |info_msg| info_msg.include?('ColumnNames') })
+
+ sf = SchedulesFile.new(model: model, schedules_paths: hpxml.header.schedules_filepaths)
+ sf.validate_schedules(year: 2007)
+
+ columns.each do |column|
+ assert(sf.schedules.keys.include?(column))
+ end
+ (SchedulesFile.ColumnNames - columns).each do |column|
+ assert(!sf.schedules.keys.include?(column))
+ end
+ end
+
+ def test_stochastic_subset_of_columns_invalid_name
+ hpxml = _create_hpxml('base.xml')
+ XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
+
+ @args_hash['schedules_type'] = 'stochastic'
+ @args_hash['output_csv_path'] = File.absolute_path(File.join(@tmp_output_path, 'occupancy-stochastic.csv'))
+ @args_hash['schedules_column_names'] = "foobar, #{SchedulesFile::ColumnCookingRange}, foobar2"
+ _model, _hpxml, result = _test_measure(expect_fail: true)
+
+ error_msgs = result.errors.map { |x| x.logMessage }
+ assert(error_msgs.any? { |error_msg| error_msg.include?("Invalid column name specified: 'foobar'.") })
+ assert(error_msgs.any? { |error_msg| error_msg.include?("Invalid column name specified: 'foobar2'.") })
+ end
+
def test_stochastic_vacancy
hpxml = _create_hpxml('base.xml')
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
@@ -508,7 +553,7 @@ def test_non_integer_number_of_occupants
end
end
- def _test_measure()
+ def _test_measure(expect_fail: false)
# create an instance of the measure
measure = BuildResidentialScheduleFile.new
@@ -532,11 +577,14 @@ def _test_measure()
measure.run(model, runner, argument_map)
result = runner.result
- # show the output
- show_output(result) unless result.value.valueName == 'Success'
-
# assert that it ran correctly
- assert_equal('Success', result.value.valueName)
+ if expect_fail
+ show_output(result) unless result.value.valueName == 'Fail'
+ assert_equal('Fail', result.value.valueName)
+ else
+ show_output(result) unless result.value.valueName == 'Success'
+ assert_equal('Success', result.value.valueName)
+ end
hpxml = HPXML.new(hpxml_path: @tmp_hpxml_path)
diff --git a/example_files/resources/hpxml-measures/Changelog.md b/example_files/resources/hpxml-measures/Changelog.md
index e558d913..1db60445 100644
--- a/example_files/resources/hpxml-measures/Changelog.md
+++ b/example_files/resources/hpxml-measures/Changelog.md
@@ -1,20 +1,31 @@
+## OpenStudio-HPXML v1.5.1
+
+__New Features__
+- When `Battery/Location` not provided, now defaults to garage if present, otherwise outside.
+- BuildResidentialScheduleFile measure:
+ - Allows requesting a subset of end uses (columns) to be generated.
+
+__Bugfixes__
+- Fixes total/net electricity timeseries outputs to include battery charging/discharging energy.
+- Fixes error when a non-electric water heater has jacket insulation and the UEF metric is used.
+
## OpenStudio-HPXML v1.5.0
__New Features__
- Updates to OpenStudio 3.5.0/EnergyPlus 22.2.
- Updates to newer proposed HPXML v4.0:
- - **Breaking Change**: Replaces `FrameFloors/FrameFloor` with `Floors/Floor`.
+ - **Breaking change**: Replaces `FrameFloors/FrameFloor` with `Floors/Floor`.
- **Breaking change**: `Floor/FloorType` (WoodFrame, StructuralInsulatedPanel, SteelFrame, or SolidConcrete) is a required input.
- - **Breaking Change**: All `Ducts` must now have a `SystemIdentifier`.
- - **Breaking Change**: Replaces `WallType/StructurallyInsulatedPanel` with `WallType/StructuralInsulatedPanel`.
+ - **Breaking change**: All `Ducts` must now have a `SystemIdentifier`.
+ - **Breaking change**: Replaces `WallType/StructurallyInsulatedPanel` with `WallType/StructuralInsulatedPanel`.
- **Breaking change**: Replaces `SoftwareInfo/extension/SimulationControl/DaylightSaving/Enabled` with `Building/Site/TimeZone/DSTObserved`.
- - **Breaking Change**: Replaces `StandbyLoss` with `StandbyLoss[Units="F/hr"]/Value` for an indirect water heater.
- - **Breaking Change**: Replaces `BranchPipingLoopLength` with `BranchPipingLength` for a hot water recirculation system.
- - **Breaking Change**: Replaces `Floor/extension/OtherSpaceAboveOrBelow` with `Floor/FloorOrCeiling`.
+ - **Breaking change**: Replaces `StandbyLoss` with `StandbyLoss[Units="F/hr"]/Value` for an indirect water heater.
+ - **Breaking change**: Replaces `BranchPipingLoopLength` with `BranchPipingLength` for a hot water recirculation system.
+ - **Breaking change**: Replaces `Floor/extension/OtherSpaceAboveOrBelow` with `Floor/FloorOrCeiling`.
- **Breaking change**: For PTAC with heating, replaces `HeatingSystem` of type PackagedTerminalAirConditionerHeating with `CoolingSystem/IntegratedHeating*` elements.
-- **Breaking Change**: Now performs full HPXML XSD schema validation (previously just limited checks); yields runtime speed improvements.
-- **Breaking Change**: HVAC/DHW equipment efficiencies can no longer be defaulted (e.g., based on age of equipment); they are now required.
-- **Breaking Change**: Deprecates ReportHPXMLOutput measure; HVAC autosized capacities & design loads moved to `results_annual.csv`.
+- **Breaking change**: Now performs full HPXML XSD schema validation (previously just limited checks); yields runtime speed improvements.
+- **Breaking change**: HVAC/DHW equipment efficiencies can no longer be defaulted (e.g., based on age of equipment); they are now required.
+- **Breaking change**: Deprecates ReportHPXMLOutput measure; HVAC autosized capacities & design loads moved to `results_annual.csv`.
- **Breaking change**: BuildResidentialHPXML measure: Replaces arguments using 'auto' for defaults with optional arguments of the appropriate data type.
- Utility bill calculations:
- **Breaking change**: Removes utility rate and PV related arguments from the ReportUtilityBills measure in lieu of HPXML file inputs.
@@ -305,7 +316,7 @@ __Bugfixes__
__New Features__
- New [Schematron](http://schematron.com) validation (EPvalidator.xml) replaces custom ruby validation (EPvalidator.rb)
-- **[Breaking Change]** `BuildingConstruction/ResidentialFacilityType` ("single-family detached", "single-family attached", "apartment unit", or "manufactured home") is a required input
+- **[Breaking change]** `BuildingConstruction/ResidentialFacilityType` ("single-family detached", "single-family attached", "apartment unit", or "manufactured home") is a required input
- Ability to model shared systems for Attached/Multifamily dwelling units
- Shared HVAC systems (cooling towers, chillers, central boilers, water loop heat pumps, fan coils, ground source heat pumps on shared hydronic circulation loops)
- Shared water heaters serving either A) multiple dwelling units' service hot water or B) a shared laundry/equipment room, as well as hot water recirculation systems
@@ -313,7 +324,7 @@ __New Features__
- Shared hot water recirculation systems
- Shared ventilation systems (optionally with preconditioning equipment and recirculation)
- Shared PV systems
- - **[Breaking Change]** Appliances located in MF spaces (i.e., "other") must now be specified in more detail (i.e., "other heated space", "other non-freezing space", "other multifamily buffer space", or "other housing unit")
+ - **[Breaking change]** Appliances located in MF spaces (i.e., "other") must now be specified in more detail (i.e., "other heated space", "other non-freezing space", "other multifamily buffer space", or "other housing unit")
- Enclosure
- New optional inputs: `Roof/RoofType`, `Wall/Siding`, and `RimJoist/Siding`
- New optional inputs: `Skylight/InteriorShading/SummerShadingCoefficient` and `Skylight/InteriorShading/SummerShadingCoefficient`
@@ -321,7 +332,7 @@ __New Features__
- New optional input to specify presence of flue/chimney, which results in increased infiltration
- Allows adobe wall type
- Allows `AirInfiltrationMeasurement/HousePressure` to be any value (previously required to be 50 Pa)
- - **[Breaking Change]** `Roof/RadiantBarrierGrade` input now required when there is a radiant barrier
+ - **[Breaking change]** `Roof/RadiantBarrierGrade` input now required when there is a radiant barrier
- HVAC
- Adds optional high-level HVAC autosizing controls
- `AllowIncreasedFixedCapacities`: Describes how HVAC equipment with fixed capacities are handled. If true, the maximum of the user-specified fixed capacity and the heating/cooling design load will be used to reduce potential for unmet loads. Defaults to false.
@@ -333,11 +344,11 @@ __New Features__
- Appliances & Plug Loads
- Allows _multiple_ `Refrigerator` and `Freezer`
- Allows `Pool`, `HotTub`, `PlugLoad` of type "electric vehicle charging" and "well pump", and `FuelLoad` of type "grill", "lighting", and "fireplace"
- - **[Breaking Change]** "other" and "TV other" plug loads now required
+ - **[Breaking change]** "other" and "TV other" plug loads now required
- Lighting
- Allows lighting schedules and holiday lighting
-- **[Breaking Change]** For hydronic distributions, `HydronicDistributionType` is now required
-- **[Breaking Change]** For DSE distributions, `AnnualHeatingDistributionSystemEfficiency` and `AnnualCoolingDistributionSystemEfficiency` are both always required
+- **[Breaking change]** For hydronic distributions, `HydronicDistributionType` is now required
+- **[Breaking change]** For DSE distributions, `AnnualHeatingDistributionSystemEfficiency` and `AnnualCoolingDistributionSystemEfficiency` are both always required
- Allows more HPXML fuel types to be used for HVAC, water heating, appliances, etc.
- New inputs to define Daylight Saving period; defaults to enabled
- Adds more reporting of warnings/errors to run.log
@@ -353,7 +364,7 @@ __Bugfixes__
__New Features__
- Dwelling units of single-family attached/multifamily buildings:
- Adds new generic space types "other heated space", "other multifamily buffer space", and "other non-freezing space" for surface `ExteriorAdjacentTo` elements. "other housing unit", i.e. adiabatic surfaces, was already supported.
- - **[Breaking Change]** For `FrameFloors`, replaces "other housing unit above" and "other housing unit below" enumerations with "other housing unit". All four "other ..." spaces must have an `extension/OtherSpaceAboveOrBelow` property set to either "above" or "below".
+ - **[Breaking change]** For `FrameFloors`, replaces "other housing unit above" and "other housing unit below" enumerations with "other housing unit". All four "other ..." spaces must have an `extension/OtherSpaceAboveOrBelow` property set to either "above" or "below".
- Allows ducts and water heaters to be located in all "other ..." spaces.
- Allows all appliances to be located in "other", in which internal gains are neglected.
- Allows `Fireplace` and `FloorFurnace` for heating system types.
@@ -364,15 +375,15 @@ __New Features__
- Allows user-specified `Refrigerator` and `CookingRange` schedules to be provided.
- HVAC capacity elements are no longer required; if not provided, ACCA Manual J autosizing calculations will be used (-1 can continue to be used for capacity elements but is discouraged).
- Duct locations/areas can be defaulted by specifying supply/return `Duct` elements without `DuctSurfaceArea` and `DuctLocation`. `HVACDistribution/DistributionSystemType/AirDistribution/NumberofReturnRegisters` can be optionally provided to inform the default duct area calculations.
-- **[Breaking Change]** Lighting inputs now use `LightingType[LightEmittingDiode | CompactFluorescent | FluorescentTube]` instead of `ThirdPartyCertification="ERI Tier I" or ThirdPartyCertification="ERI Tier II"`.
-- **[Breaking Change]** `HVACDistribution/ConditionedFloorAreaServed` is now required for air distribution systems.
-- **[Breaking Change]** Infiltration and attic ventilation specified using natural air changes per hour now uses `ACHnatural` instead of `extension/ConstantACHnatural`.
-- **[Breaking Change]** The optional `PerformanceAdjustment` input for instantaneous water heaters is now treated as a performance multiplier (e.g., 0.92) instead of derate (e.g., 0.08).
+- **[Breaking change]** Lighting inputs now use `LightingType[LightEmittingDiode | CompactFluorescent | FluorescentTube]` instead of `ThirdPartyCertification="ERI Tier I" or ThirdPartyCertification="ERI Tier II"`.
+- **[Breaking change]** `HVACDistribution/ConditionedFloorAreaServed` is now required for air distribution systems.
+- **[Breaking change]** Infiltration and attic ventilation specified using natural air changes per hour now uses `ACHnatural` instead of `extension/ConstantACHnatural`.
+- **[Breaking change]** The optional `PerformanceAdjustment` input for instantaneous water heaters is now treated as a performance multiplier (e.g., 0.92) instead of derate (e.g., 0.08).
- Adds ASHRAE 140 Class II test files.
- SimulationOutputReport reporting measure:
- New optional timeseries outputs: airflows (e.g., infiltration, mechanical ventilation, natural ventilation, whole house fan) and weather (e.g., temperatures, wind speed, solar).
- Timeseries frequency can now be set to 'none' as an alternative to setting all include_timeseries_foo variables to false.
- - **[Breaking Change]** Renames "Wood" to "Wood Cord" to better distinguish from "Wood Pellets".
+ - **[Breaking change]** Renames "Wood" to "Wood Cord" to better distinguish from "Wood Pellets".
- Modeling improvements:
- Improved calculation for infiltration height
- Infiltration & mechanical ventilation now combined using ASHRAE 62.2 Normative Appendix C.
@@ -398,10 +409,10 @@ __Bugfixes__
## OpenStudio-HPXML v0.9.0 Beta
__New Features__
-- **[Breaking Change]** Updates to OpenStudio v3.0.0 and EnergyPlus 9.3
+- **[Breaking change]** Updates to OpenStudio v3.0.0 and EnergyPlus 9.3
- Numerous HPXML inputs are now optional with built-in defaulting, particularly for water heating, appliances, and PV. Set the `debug` argument to true to output a in.xml HPXML file with defaults applied for inspection. See the documentation for defaulting equations/assumptions/references.
-- **[Breaking Change]** If clothes washer efficiency inputs are provided, `LabelUsage` is now required.
-- **[Breaking Change]** If dishwasher efficiency inputs are provided, `LabelElectricRate`, `LabelGasRate`, `LabelAnnualGasCost`, and `LabelUsage` are now required.
+- **[Breaking change]** If clothes washer efficiency inputs are provided, `LabelUsage` is now required.
+- **[Breaking change]** If dishwasher efficiency inputs are provided, `LabelElectricRate`, `LabelGasRate`, `LabelAnnualGasCost`, and `LabelUsage` are now required.
- Adds optional specification of simulation controls including timestep and begin/end dates.
- Adds optional `extension/UsageMultiplier` inputs for appliances, plug loads, lighting, and water fixtures. Can be used to, e.g., reflect high/low usage occupants.
- Adds ability to model a dehumidifier.
@@ -409,9 +420,9 @@ __New Features__
- Improved desuperheater model; desuperheater can now be connected to heat pump water heaters.
- Updated clothes washer/dryer and dishwasher models per ANSI/RESNET/ICC 301-2019 Addendum A.
- Solar thermal systems modeled with `SolarFraction` can now be connected to combi water heating systems.
-- **[Breaking Change]** Replaces optional `epw_output_path` and `osm_output_path` arguments with a single optional `output_dir` argument; adds an optional `debug` argument.
-- **[Breaking Change]** Replaces optional `BuildingConstruction/extension/FractionofOperableWindowArea` with optional `Window/FractionOperable`.
-- **[Breaking Change]** Replaces optional `extension/EPWFileName` with optional `extension/EPWFilePath` to allow absolute paths to be provided as an alternative to just the file name.
+- **[Breaking change]** Replaces optional `epw_output_path` and `osm_output_path` arguments with a single optional `output_dir` argument; adds an optional `debug` argument.
+- **[Breaking change]** Replaces optional `BuildingConstruction/extension/FractionofOperableWindowArea` with optional `Window/FractionOperable`.
+- **[Breaking change]** Replaces optional `extension/EPWFileName` with optional `extension/EPWFilePath` to allow absolute paths to be provided as an alternative to just the file name.
- Replaces REXML xml library with Oga for better runtime performance.
- Additional error-checking.
- SimulationOutputReport reporting measure:
@@ -429,7 +440,7 @@ __Bugfixes__
## OpenStudio-HPXML v0.8.0 Beta
-__Breaking Changes__
+__Breaking changes__
- Weather cache files are now in .csv instead of .cache format.
- `extension/StandbyLoss` changed to `StandbyLoss` for indirect water heaters.
- `Site/extension/DisableNaturalVentilation` changed to `BuildingConstruction/extension/FractionofOperableWindowArea` for more granularity.
diff --git a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml
index 051d95f8..8c5a95a4 100644
--- a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml
+++ b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml
@@ -3,8 +3,8 @@
3.0
hpxm_lto_openstudio
b1543b30-9465-45ff-ba04-1d1f85e763bc
- d77a64fb-783a-45a5-b534-b5d6ddd86d9d
- 20221118T212839Z
+ 6600e0c5-d9b6-465e-ac84-30da41fdfe12
+ 20221206T195230Z
D8922A73
HPXMLtoOpenStudio
HPXML to OpenStudio Translator
@@ -493,30 +493,12 @@
test
E6B6B63E
-
- test_defaults.rb
- rb
- test
- 5874DE81
-
hpxml_schematron/EPvalidator.xml
xml
resource
436D6528
-
- hpxml_defaults.rb
- rb
- resource
- E748CE9A
-
-
- battery.rb
- rb
- resource
- 6E92DEE7
-
OpenStudio
@@ -546,12 +528,6 @@
test
FA4D31E7
-
- waterheater.rb
- rb
- resource
- FB833E88
-
hotwater_appliances.rb
rb
@@ -582,11 +558,35 @@
resource
398A7B89
+
+ hpxml_defaults.rb
+ rb
+ resource
+ CB7BDE02
+
+
+ test_defaults.rb
+ rb
+ test
+ 6CA2E731
+
+
+ battery.rb
+ rb
+ resource
+ E188E460
+
+
+ waterheater.rb
+ rb
+ resource
+ 170774C2
+
version.rb
rb
resource
- A558D830
+ 80B2ED97
diff --git a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb
index 7b36d408..1a339157 100644
--- a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb
+++ b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/battery.rb
@@ -127,7 +127,7 @@ def self.apply(runner, model, pv_systems, battery, schedules_file)
# Apply round trip efficiency as EMS program b/c E+ input is not hooked up.
# Replace this when the first item in https://github.com/NREL/EnergyPlus/issues/9176 is fixed.
charge_sensor = OpenStudio::Model::EnergyManagementSystemSensor.new(model, 'Electric Storage Charge Energy')
- charge_sensor.setName('charge')
+ charge_sensor.setName('battery_charge')
charge_sensor.setKeyName(elcs.name.to_s)
loss_adj_object_def = OpenStudio::Model::OtherEquipmentDefinition.new(model)
@@ -149,7 +149,7 @@ def self.apply(runner, model, pv_systems, battery, schedules_file)
battery_losses_program = OpenStudio::Model::EnergyManagementSystemProgram.new(model)
battery_losses_program.setName('battery_losses')
- battery_losses_program.addLine("Set losses = -1 * charge * (1 - #{battery.round_trip_efficiency})")
+ battery_losses_program.addLine("Set losses = -1 * #{charge_sensor.name} * (1 - #{battery.round_trip_efficiency})")
battery_losses_program.addLine("Set #{battery_adj_actuator.name} = -1 * losses / ( 3600 * SystemTimeStep )")
battery_losses_pcm = OpenStudio::Model::EnergyManagementSystemProgramCallingManager.new(model)
@@ -165,8 +165,13 @@ def self.apply(runner, model, pv_systems, battery, schedules_file)
battery_losses_output_var.setUnits('J')
end
- def self.get_battery_default_values()
- return { location: HPXML::LocationOutside,
+ def self.get_battery_default_values(has_garage = false)
+ if has_garage
+ location = HPXML::LocationGarage
+ else
+ location = HPXML::LocationOutside
+ end
+ return { location: location,
lifetime_model: HPXML::BatteryLifetimeModelNone,
nominal_capacity_kwh: 10.0,
nominal_voltage: 50.0,
diff --git a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb
index 09df8b63..c4dfb914 100644
--- a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb
+++ b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/hpxml_defaults.rb
@@ -1124,7 +1124,7 @@ def self.apply_hvac(hpxml, weather, convert_shared_systems)
if heat_pump.compressor_type == HPXML::HVACCompressorTypeSingleStage
heat_pump.cooling_shr = 0.73
elsif heat_pump.compressor_type == HPXML::HVACCompressorTypeTwoStage
- heat_pump.cooling_shr = 0.724
+ heat_pump.cooling_shr = 0.73
elsif heat_pump.compressor_type == HPXML::HVACCompressorTypeVariableSpeed
heat_pump.cooling_shr = 0.78
end
@@ -1133,9 +1133,10 @@ def self.apply_hvac(hpxml, weather, convert_shared_systems)
heat_pump.cooling_shr = 0.73
heat_pump.cooling_shr_isdefaulted = true
elsif heat_pump.heat_pump_type == HPXML::HVACTypeHeatPumpGroundToAir
- heat_pump.cooling_shr = 0.732
+ heat_pump.cooling_shr = 0.73
heat_pump.cooling_shr_isdefaulted = true
- elsif heat_pump.heat_pump_type == HPXML::HVACTypeHeatPumpPTHP
+ elsif heat_pump.heat_pump_type == HPXML::HVACTypeHeatPumpPTHP ||
+ heat_pump.heat_pump_type == HPXML::HVACTypeHeatPumpRoom
heat_pump.cooling_shr = 0.65
heat_pump.cooling_shr_isdefaulted = true
end
@@ -1819,7 +1820,7 @@ def self.apply_generators(hpxml)
end
def self.apply_batteries(hpxml)
- default_values = Battery.get_battery_default_values()
+ default_values = Battery.get_battery_default_values(hpxml.has_location(HPXML::LocationGarage))
hpxml.batteries.each do |battery|
if battery.location.nil?
battery.location = default_values[:location]
diff --git a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb
index df8b369d..1ec72d06 100644
--- a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb
+++ b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/version.rb
@@ -1,8 +1,8 @@
# frozen_string_literal: true
class Version
- OS_HPXML_Version = '1.5.0' # Version of the OS-HPXML workflow
- OS_Version = '3.5.0' # Required version of OpenStudio (can be 'X.X' or 'X.X.X')
+ OS_HPXML_Version = '1.5.1' # Version of the OS-HPXML workflow
+ OS_Version = '3.5' # Required version of OpenStudio (can be 'X.X' or 'X.X.X')
HPXML_Version = '4.0' # HPXML schemaVersion
def self.check_openstudio_version
diff --git a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb
index 089235f9..c6ccc438 100644
--- a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb
+++ b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/resources/waterheater.rb
@@ -1531,7 +1531,11 @@ def self.apply_tank_jacket(water_heating_system, ua_pre, a_side)
if water_heating_system.fuel_type.nil? # indirect water heater, etc. Assume 2 inch skin insulation
skin_insulation_t = 2.0 # inch
elsif water_heating_system.fuel_type != HPXML::FuelTypeElectricity
- if water_heating_system.energy_factor < 0.7
+ ef = water_heating_system.energy_factor
+ if ef.nil?
+ ef = calc_ef_from_uef(water_heating_system)
+ end
+ if ef < 0.7
skin_insulation_t = 1.0 # inch
else
skin_insulation_t = 2.0 # inch
diff --git a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb
index ea8fc408..ccebf29a 100644
--- a/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb
+++ b/example_files/resources/hpxml-measures/HPXMLtoOpenStudio/tests/test_defaults.rb
@@ -2332,7 +2332,7 @@ def test_batteries
hpxml.batteries[0].round_trip_efficiency = 0.9
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, 45.0, nil, 34.0, nil, 1234.0, HPXML::LocationBasementConditioned, HPXML::BatteryLifetimeModelKandlerSmith, 0.9)
+ _test_default_battery_values(hpxml_default, 45.0, nil, 34.0, nil, 1234.0, HPXML::LocationBasementConditioned, nil, 0.9)
# Test w/ Ah instead of kWh
hpxml.batteries[0].nominal_capacity_kwh = nil
@@ -2341,7 +2341,7 @@ def test_batteries
hpxml.batteries[0].usable_capacity_ah = 876.0
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, nil, 987.0, nil, 876.0, 1234.0, HPXML::LocationBasementConditioned, HPXML::BatteryLifetimeModelKandlerSmith, 0.9)
+ _test_default_battery_values(hpxml_default, nil, 987.0, nil, 876.0, 1234.0, HPXML::LocationBasementConditioned, nil, 0.9)
# Test defaults
hpxml.batteries[0].nominal_capacity_kwh = nil
@@ -2354,7 +2354,7 @@ def test_batteries
hpxml.batteries[0].round_trip_efficiency = nil
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, 10.0, nil, 9.0, nil, 5000.0, HPXML::LocationOutside, HPXML::BatteryLifetimeModelNone, 0.925)
+ _test_default_battery_values(hpxml_default, 10.0, nil, 9.0, nil, 5000.0, HPXML::LocationOutside, nil, 0.925)
# Test defaults w/ nominal kWh
hpxml.batteries[0].nominal_capacity_kwh = 14.0
@@ -2364,7 +2364,7 @@ def test_batteries
hpxml.batteries[0].rated_power_output = nil
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, 14.0, nil, 12.6, nil, 7000.0, HPXML::LocationOutside, HPXML::BatteryLifetimeModelNone, 0.925)
+ _test_default_battery_values(hpxml_default, 14.0, nil, 12.6, nil, 7000.0, HPXML::LocationOutside, nil, 0.925)
# Test defaults w/ usable kWh
hpxml.batteries[0].nominal_capacity_kwh = nil
@@ -2374,7 +2374,7 @@ def test_batteries
hpxml.batteries[0].rated_power_output = nil
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, 13.33, nil, 12.0, nil, 6665.0, HPXML::LocationOutside, HPXML::BatteryLifetimeModelNone, 0.925)
+ _test_default_battery_values(hpxml_default, 13.33, nil, 12.0, nil, 6665.0, HPXML::LocationOutside, nil, 0.925)
# Test defaults w/ nominal Ah
hpxml.batteries[0].nominal_capacity_kwh = nil
@@ -2384,7 +2384,7 @@ def test_batteries
hpxml.batteries[0].rated_power_output = nil
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, nil, 280.0, nil, 252.0, 7000.0, HPXML::LocationOutside, HPXML::BatteryLifetimeModelNone, 0.925)
+ _test_default_battery_values(hpxml_default, nil, 280.0, nil, 252.0, 7000.0, HPXML::LocationOutside, nil, 0.925)
# Test defaults w/ usable Ah
hpxml.batteries[0].nominal_capacity_kwh = nil
@@ -2394,7 +2394,7 @@ def test_batteries
hpxml.batteries[0].rated_power_output = nil
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, nil, 266.67, nil, 240.0, 6667.0, HPXML::LocationOutside, HPXML::BatteryLifetimeModelNone, 0.925)
+ _test_default_battery_values(hpxml_default, nil, 266.67, nil, 240.0, 6667.0, HPXML::LocationOutside, nil, 0.925)
# Test defaults w/ rated power output
hpxml.batteries[0].nominal_capacity_kwh = nil
@@ -2404,7 +2404,21 @@ def test_batteries
hpxml.batteries[0].rated_power_output = 10000.0
XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
hpxml_default = _test_measure()
- _test_default_battery_values(hpxml_default, 20.0, nil, 18.0, nil, 10000.0, HPXML::LocationOutside, HPXML::BatteryLifetimeModelNone, 0.925)
+ _test_default_battery_values(hpxml_default, 20.0, nil, 18.0, nil, 10000.0, HPXML::LocationOutside, nil, 0.925)
+
+ # Test defaults w/ garage
+ hpxml = _create_hpxml('base-pv-battery-garage.xml')
+ hpxml.batteries[0].nominal_capacity_kwh = nil
+ hpxml.batteries[0].nominal_capacity_ah = nil
+ hpxml.batteries[0].usable_capacity_kwh = nil
+ hpxml.batteries[0].usable_capacity_ah = nil
+ hpxml.batteries[0].rated_power_output = nil
+ hpxml.batteries[0].location = nil
+ hpxml.batteries[0].lifetime_model = nil
+ hpxml.batteries[0].round_trip_efficiency = nil
+ XMLHelper.write_file(hpxml.to_oga, @tmp_hpxml_path)
+ hpxml_default = _test_measure()
+ _test_default_battery_values(hpxml_default, 10.0, nil, 9.0, nil, 5000.0, HPXML::LocationGarage, nil, 0.925)
end
def test_generators
@@ -3971,7 +3985,7 @@ def _test_default_pv_system_values(hpxml, interver_efficiency, system_loss_frac,
end
def _test_default_battery_values(hpxml, nominal_capacity_kwh, nominal_capacity_ah, usable_capacity_kwh, usable_capacity_ah,
- rated_power_output, location, _lifetime_model, round_trip_efficiency)
+ rated_power_output, location, lifetime_model, round_trip_efficiency)
if nominal_capacity_kwh.nil?
assert_nil(hpxml.batteries[0].nominal_capacity_kwh)
else
@@ -3994,7 +4008,11 @@ def _test_default_battery_values(hpxml, nominal_capacity_kwh, nominal_capacity_a
end
assert_equal(rated_power_output, hpxml.batteries[0].rated_power_output)
assert_equal(location, hpxml.batteries[0].location)
- assert_equal(nil, hpxml.batteries[0].lifetime_model)
+ if lifetime_model.nil?
+ assert_nil(hpxml.batteries[0].lifetime_model)
+ else
+ assert_equal(lifetime_model, hpxml.batteries[0].lifetime_model)
+ end
assert_equal(round_trip_efficiency, hpxml.batteries[0].round_trip_efficiency)
end
diff --git a/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.rb b/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.rb
index b2d9f000..fdca2a84 100644
--- a/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.rb
+++ b/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.rb
@@ -313,6 +313,9 @@ def energyPlusOutputRequests(runner, user_arguments)
end
if has_electricity_storage
result << OpenStudio::IdfObject.load('Output:Meter,ElectricStorage:ElectricityProduced,runperiod;').get # Used for error checking
+ if include_timeseries_fuel_consumptions
+ result << OpenStudio::IdfObject.load("Output:Meter,ElectricStorage:ElectricityProduced,#{timeseries_frequency};").get
+ end
end
# End Use/Hot Water Use/Ideal Load outputs
@@ -640,12 +643,14 @@ def get_outputs(runner, timeseries_frequency,
end
# Fuel Uses
- @fuels.each do |_fuel_type, fuel|
+ @fuels.each do |fuel_type, fuel|
fuel.annual_output = get_report_meter_data_annual(fuel.meters)
+ fuel.annual_output -= get_report_meter_data_annual(['ElectricStorage:ElectricityProduced']) if fuel_type == FT::Elec # We add Electric Storage onto the annual Electricity fuel meter
next unless include_timeseries_fuel_consumptions
fuel.timeseries_output = get_report_meter_data_timeseries(fuel.meters, UnitConversions.convert(1.0, 'J', fuel.timeseries_units), 0, timeseries_frequency)
+ fuel.timeseries_output = fuel.timeseries_output.zip(get_report_meter_data_timeseries(['ElectricStorage:ElectricityProduced'], UnitConversions.convert(1.0, 'J', fuel.timeseries_units), 0, timeseries_frequency)).map { |x, y| x - y } if fuel_type == FT::Elec # We add Electric Storage onto the timeseries Electricity fuel meter
end
# Peak Electricity Consumption
diff --git a/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.xml b/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.xml
index fb9986e4..e04823dd 100644
--- a/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.xml
+++ b/example_files/resources/hpxml-measures/ReportSimulationOutput/measure.xml
@@ -3,8 +3,8 @@
3.0
report_simulation_output
df9d170c-c21a-4130-866d-0d46b06073fd
- 16b781cb-81df-4d15-9a0f-a6ef3e7910d9
- 20221118T005334Z
+ ed4b8b52-6f8a-45b2-a02d-533a60f74d62
+ 20221206T185448Z
9BF1E6AC
ReportSimulationOutput
HPXML Simulation Output Report
@@ -1540,7 +1540,7 @@
measure.rb
rb
script
- BB6A623C
+ F4893CF9
diff --git a/example_files/resources/hpxml-measures/docs/source/usage_instructions.rst b/example_files/resources/hpxml-measures/docs/source/usage_instructions.rst
index dfcb2868..3ae4d967 100644
--- a/example_files/resources/hpxml-measures/docs/source/usage_instructions.rst
+++ b/example_files/resources/hpxml-measures/docs/source/usage_instructions.rst
@@ -55,7 +55,8 @@ A template OSW that simply runs the HPXMLtoOpenStudio, ReportSimulationOutput, a
| Another example:
| ``openstudio run -w workflow/template-run-hpxml-with-stochastic-occupancy.osw``
-| This workflow automatically generates and uses a CSV file with stochastic occupancy schedules before running the EnergyPlus simulation.
+| ``openstudio run -w workflow/template-run-hpxml-with-stochastic-occupancy-subset.osw``
+| This workflow automatically generates and uses a CSV file with stochastic occupancy schedules (either with all possible columns or a user-specified subset of columns) before running the EnergyPlus simulation.
| And another example:
| ``openstudio run -w workflow/template-build-and-run-hpxml-with-stochastic-occupancy.osw``
diff --git a/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst b/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst
index c980ecb1..67abbd0c 100644
--- a/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst
+++ b/example_files/resources/hpxml-measures/docs/source/workflow_inputs.rst
@@ -186,6 +186,7 @@ The column names available in the schedule CSV files are:
=============================== ===== ============================================================================== ===================
Columns with units of `frac` must be normalized to MAX=1; that is, these schedules only define *when* energy is used, not *how much* energy is used.
+In other words, the amount of energy or hot water used in each simulation timestep is essentially the schedule value divided by the sum of all schedule values in the column, multiplied by the annual energy or hot water use.
Example schedule CSV files are provided in the ``HPXMLtoOpenStudio/resources/schedule_files`` directory.
The schedule file must have a full year of data even if the simulation is not an entire year.
@@ -1344,7 +1345,7 @@ If a central air conditioner is specified, additional information is entered in
``DistributionSystem`` idref See [#]_ Yes ID of attached distribution system
``AnnualCoolingEfficiency[Units="SEER" or Units="SEER2"]/Value`` double Btu/Wh or # > 0 Yes Rated efficiency [#]_
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``SensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``SensibleHeatFraction`` double frac 0 - 1 No See [#]_ Sensible heat fraction
``CompressorType`` string See [#]_ No See [#]_ Type of compressor
``extension/FanPowerWattsPerCFM`` double W/cfm >= 0 No See [#]_ Blower fan efficiency at maximum fan speed [#]_
``extension/AirflowDefectRatio`` double frac -0.9 - 9 No 0.0 Deviation between design/installed airflows [#]_
@@ -1353,6 +1354,7 @@ If a central air conditioner is specified, additional information is entered in
.. [#] HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
.. [#] If SEER2 provided, converted to SEER using ANSI/RESNET/ICC 301-2022 Addendum C, where SEER = SEER2 / 0.95 (assumed to be a split system).
+ .. [#] If not provided, defaults to 0.73 for single/two stage and 0.78 for variable speed.
.. [#] CompressorType choices are "single stage", "two stage", or "variable speed".
.. [#] If CompressorType not provided, defaults to "single stage" if SEER <= 15, else "two stage" if SEER <= 21, else "variable speed".
.. [#] If FanPowerWattsPerCFM not provided, defaults to using attached furnace W/cfm if available, else 0.5 W/cfm if SEER <= 13.5, else 0.375 W/cfm.
@@ -1373,7 +1375,7 @@ If a room air conditioner is specified, additional information is entered in ``C
================================================================== ====== ====== =========== ======== ========= ============================================
``AnnualCoolingEfficiency[Units="EER" or Units="CEER"]/Value`` double Btu/Wh > 0 Yes Rated efficiency
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``SensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``SensibleHeatFraction`` double frac 0 - 1 No 0.65 Sensible heat fraction
``IntegratedHeatingSystemFuel`` string See [#]_ No Fuel type of integrated heater
================================================================== ====== ====== =========== ======== ========= ============================================
@@ -1402,7 +1404,7 @@ If a PTAC is specified, additional information is entered in ``CoolingSystem``.
================================================================== ====== ====== =========== ======== ========= ==========================================
``AnnualCoolingEfficiency[Units="EER" or Units="CEER"]/Value`` double Btu/Wh > 0 Yes Rated efficiency
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``SensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``SensibleHeatFraction`` double frac 0 - 1 No 0.65 Sensible heat fraction
``IntegratedHeatingSystemFuel`` string See [#]_ No Fuel type of integrated heater
================================================================== ====== ====== =========== ======== ========= ==========================================
@@ -1446,7 +1448,7 @@ If a mini-split air conditioner is specified, additional information is entered
``DistributionSystem`` idref See [#]_ No ID of attached distribution system
``AnnualCoolingEfficiency[Units="SEER" or Units="SEER2"]/Value`` double Btu/Wh > 0 Yes Rated cooling efficiency [#]_
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``SensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``SensibleHeatFraction`` double frac 0 - 1 No 0.73 Sensible heat fraction
``extension/FanPowerWattsPerCFM`` double W/cfm >= 0 No See [#]_ Blower fan efficiency at maximum fan speed
``extension/AirflowDefectRatio`` double frac -0.9 - 9 No 0.0 Deviation between design/installed airflows [#]_
``extension/ChargeDefectRatio`` double frac -0.9 - 9 No 0.0 Deviation between design/installed charges [#]_
@@ -1588,7 +1590,7 @@ If an air-to-air heat pump is specified, additional information is entered in ``
``HeatingCapacity`` double Btu/hr >= 0 No autosized Heating output capacity (excluding any backup heating)
``HeatingCapacity17F`` double Btu/hr >= 0, <= HeatingCapacity No Heating output capacity at 17F, if available
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``CoolingSensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``CoolingSensibleHeatFraction`` double frac 0 - 1 No See [#]_ Sensible heat fraction
``FractionHeatLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of heating load served
``FractionCoolLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of cooling load served
``AnnualCoolingEfficiency[Units="SEER" or Units="SEER2"]/Value`` double Btu/Wh > 0 Yes Rated cooling efficiency [#]_
@@ -1601,6 +1603,7 @@ If an air-to-air heat pump is specified, additional information is entered in ``
.. [#] HVACDistribution type must be AirDistribution (type: "regular velocity") or DSE.
.. [#] CompressorType choices are "single stage", "two stage", or "variable speed".
.. [#] If CompressorType not provided, defaults to "single stage" if SEER <= 15, else "two stage" if SEER <= 21, else "variable speed".
+ .. [#] If not provided, defaults to 0.73 for single/two stage and 0.78 for variable speed.
.. [#] The sum of all ``FractionHeatLoadServed`` (across all HVAC systems) must be less than or equal to 1.
.. [#] The sum of all ``FractionCoolLoadServed`` (across all HVAC systems) must be less than or equal to 1.
.. [#] If SEER2 provided, converted to SEER using ANSI/RESNET/ICC 301-2022 Addendum C, where SEER = SEER2 / 0.95 (assumed to be a split system).
@@ -1624,7 +1627,7 @@ If a mini-split heat pump is specified, additional information is entered in ``H
``HeatingCapacity`` double Btu/hr >= 0 No autosized Heating output capacity (excluding any backup heating)
``HeatingCapacity17F`` double Btu/hr >= 0, <= HeatingCapacity No Heating output capacity at 17F, if available
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``CoolingSensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``CoolingSensibleHeatFraction`` double frac 0 - 1 No 0.73 Sensible heat fraction
``FractionHeatLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of heating load served
``FractionCoolLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of cooling load served
``AnnualCoolingEfficiency[Units="SEER" or Units="SEER2"]/Value`` double Btu/Wh > 0 Yes Rated cooling efficiency [#]_
@@ -1663,7 +1666,7 @@ If a packaged terminal heat pump is specified, additional information is entered
=============================================================== ======== ====== =========== ======== ========= ==============================================
``HeatingCapacity`` double Btu/hr >= 0 No autosized Heating output capacity (excluding any backup heating)
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``CoolingSensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``CoolingSensibleHeatFraction`` double frac 0 - 1 No 0.65 Sensible heat fraction
``FractionHeatLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of heating load served
``FractionCoolLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of cooling load served
``AnnualCoolingEfficiency[Units="EER" or Units="CEER"]/Value`` double Btu/Wh > 0 Yes Rated cooling efficiency
@@ -1685,7 +1688,7 @@ If a room air conditioner with reverse cycle is specified, additional informatio
=============================================================== ======== ====== =========== ======== ========= ==============================================
``HeatingCapacity`` double Btu/hr >= 0 No autosized Heating output capacity (excluding any backup heating)
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``CoolingSensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``CoolingSensibleHeatFraction`` double frac 0 - 1 No 0.65 Sensible heat fraction
``FractionHeatLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of heating load served
``FractionCoolLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of cooling load served
``AnnualCoolingEfficiency[Units="EER" or Units="CEER"]/Value`` double Btu/Wh > 0 Yes Rated cooling efficiency
@@ -1707,7 +1710,7 @@ If a ground-to-air heat pump is specified, additional information is entered in
``DistributionSystem`` idref See [#]_ Yes ID of attached distribution system
``HeatingCapacity`` double Btu/hr >= 0 No autosized Heating output capacity (excluding any backup heating)
``CoolingCapacity`` double Btu/hr >= 0 No autosized Cooling output capacity
- ``CoolingSensibleHeatFraction`` double frac 0 - 1 No Sensible heat fraction
+ ``CoolingSensibleHeatFraction`` double frac 0 - 1 No 0.73 Sensible heat fraction
``FractionHeatLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of heating load served
``FractionCoolLoadServed`` double frac 0 - 1 [#]_ Yes Fraction of cooling load served
``AnnualCoolingEfficiency[Units="EER"]/Value`` double Btu/Wh > 0 Yes Rated cooling efficiency
@@ -2568,7 +2571,7 @@ If not entered, the simulation will not include batteries.
Element Type Units Constraints Required Default Notes
==================================================== ======= ========= ======================= ======== ======== ============================================
``SystemIdentifier`` id Yes Unique identifier
- ``Location`` string See [#]_ No outside Location
+ ``Location`` string See [#]_ No See [#]_ Location
``BatteryType`` string See [#]_ Yes Battery type
``NominalCapacity[Units="kWh" or Units="Ah"]/Value`` double kWh or Ah >= 0 No See [#]_ Nominal (total) capacity
``UsableCapacity[Units="kWh" or Units="Ah"]/Value`` double kWh or Ah >= 0, < NominalCapacity No See [#]_ Usable capacity
@@ -2578,6 +2581,7 @@ If not entered, the simulation will not include batteries.
==================================================== ======= ========= ======================= ======== ======== ============================================
.. [#] Location choices are "living space", "basement - conditioned", "basement - unconditioned", "crawlspace - vented", "crawlspace - unvented", "crawlspace - conditioned", "attic - vented", "attic - unvented", "garage", or "outside".
+ .. [#] If Location not provided, defaults to "garage" if a garage is present, otherwise "outside".
.. [#] BatteryType only choice is "Li-ion".
.. [#] If NominalCapacity not provided, defaults to UsableCapacity / 0.9 if UsableCapacity provided, else (RatedPowerOutput / 1000) / 0.5 if RatedPowerOutput provided, else 10 kWh.
.. [#] If UsableCapacity not provided, defaults to 0.9 * NominalCapacity.
diff --git a/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst b/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst
index f8ea4e78..9b625d26 100644
--- a/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst
+++ b/example_files/resources/hpxml-measures/docs/source/workflow_outputs.rst
@@ -88,8 +88,8 @@ Annual energy consumption outputs are listed below.
==================================== ===========================
Type Notes
==================================== ===========================
- Energy Use: Total (MBtu)
- Energy Use: Net (MBtu) Subtracts any power produced by PV (including any battery storage) or generators.
+ Energy Use: Total (MBtu) Includes any battery charging/discharging
+ Energy Use: Net (MBtu) Subtracts any power produced by PV or generators.
==================================== ===========================
Annual Energy Consumption by Fuel Use
@@ -100,8 +100,8 @@ Fuel uses are listed below.
==================================== ===========================
Type Notes
==================================== ===========================
- Fuel Use: Electricity: Total (MBtu)
- Fuel Use: Electricity: Net (MBtu) Subtracts any power produced by PV (including any battery storage) or generators.
+ Fuel Use: Electricity: Total (MBtu) Includes any battery charging/discharging
+ Fuel Use: Electricity: Net (MBtu) Subtracts any power produced by PV or generators.
Fuel Use: Natural Gas: Total (MBtu)
Fuel Use: Fuel Oil: Total (MBtu) Includes "fuel oil", "fuel oil 1", "fuel oil 2", "fuel oil 4", "fuel oil 5/6", "kerosene", and "diesel"
Fuel Use: Propane: Total (MBtu)
diff --git a/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy-subset.osw b/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy-subset.osw
new file mode 100644
index 00000000..00b04655
--- /dev/null
+++ b/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy-subset.osw
@@ -0,0 +1,64 @@
+{
+ "run_directory": "run",
+ "measure_paths": [
+ ".."
+ ],
+ "steps": [
+ {
+ "arguments": {
+ "hpxml_path": "../../sample_files/base.xml",
+ "schedules_type": "stochastic",
+ "output_csv_path": "stochastic.csv",
+ "hpxml_output_path": "../built-stochastic-schedules.xml",
+ "schedules_column_names": "cooking_range, dishwasher, hot_water_dishwasher, clothes_washer, hot_water_clothes_washer, clothes_dryer, hot_water_fixtures"
+ },
+ "measure_dir_name": "BuildResidentialScheduleFile"
+ },
+ {
+ "arguments": {
+ "hpxml_path": "../built-stochastic-schedules.xml",
+ "output_dir": "..",
+ "debug": false,
+ "add_component_loads": false,
+ "skip_validation": false
+ },
+ "measure_dir_name": "HPXMLtoOpenStudio"
+ },
+ {
+ "arguments": {
+ "output_format": "csv",
+ "timeseries_frequency": "none",
+ "include_timeseries_total_consumptions": false,
+ "include_timeseries_fuel_consumptions": false,
+ "include_timeseries_end_use_consumptions": false,
+ "include_timeseries_emissions": false,
+ "include_timeseries_emission_fuels": false,
+ "include_timeseries_emission_end_uses": false,
+ "include_timeseries_hot_water_uses": false,
+ "include_timeseries_total_loads": false,
+ "include_timeseries_component_loads": false,
+ "include_timeseries_unmet_hours": false,
+ "include_timeseries_zone_temperatures": false,
+ "include_timeseries_airflows": false,
+ "include_timeseries_weather": false,
+ "timeseries_timestamp_convention": "start",
+ "add_timeseries_dst_column": false,
+ "add_timeseries_utc_column": false,
+ "user_output_variables": "",
+ "generate_eri_outputs": false
+ },
+ "measure_dir_name": "ReportSimulationOutput"
+ },
+ {
+ "arguments": {
+ "output_format": "csv"
+ },
+ "measure_dir_name": "ReportUtilityBills"
+ }
+ ],
+ "run_options": {
+ "fast": true,
+ "skip_expand_objects": true,
+ "skip_energyplus_preprocess": true
+ }
+}
\ No newline at end of file
diff --git a/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy.osw b/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy.osw
index 1b190e86..8f9abd47 100644
--- a/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy.osw
+++ b/example_files/resources/hpxml-measures/workflow/template-run-hpxml-with-stochastic-occupancy.osw
@@ -9,13 +9,13 @@
"hpxml_path": "../../sample_files/base.xml",
"schedules_type": "stochastic",
"output_csv_path": "stochastic.csv",
- "hpxml_output_path": "../base-stochastic-schedules.xml"
+ "hpxml_output_path": "../built-stochastic-schedules.xml"
},
"measure_dir_name": "BuildResidentialScheduleFile"
},
{
"arguments": {
- "hpxml_path": "../base-stochastic-schedules.xml",
+ "hpxml_path": "../built-stochastic-schedules.xml",
"output_dir": "..",
"debug": false,
"add_component_loads": false,
diff --git a/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv b/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv
index 9d9fc187..1c86bc24 100644
--- a/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv
+++ b/example_files/resources/hpxml-measures/workflow/tests/base_results/results.csv
@@ -18,7 +18,7 @@ base-atticroof-flat.xml,54.998,54.998,35.082,35.082,19.917,0.0,0.0,0.0,0.0,0.0,0
base-atticroof-radiant-barrier.xml,37.328,37.328,33.111,33.111,4.217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.018,9.19,1.951,6.821,0.0,0.0,2.647,0.0,0.238,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,4.187,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.217,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.894,31.746,6.675,0.58,0.0,0.0,0.0,0.0,1664.3,3181.6,13.54,17.97,0.0,6.125,1.589,0.0,0.0,0.33,-1.485,0.0,0.0,0.856,-0.331,0.992,0.0,0.4,0.0,0.104,-4.908,0.0,2.477,0.172,0.0,0.0,0.203,18.136,0.0,0.0,2.125,-0.323,-0.274,-1.707,-0.046,0.0,0.367,10.902,1354.8,997.6,9989.1,2461.3,24000.0,24000.0,0.0,25.88,98.42,25739.0,1416.0,5241.0,0.0,401.0,1535.0,0.0,0.0,8539.0,6846.0,1760.0,21453.0,156.0,7662.0,0.0,313.0,637.0,0.0,0.0,0.0,9596.0,568.0,2520.0,1416.0,325.0,291.0,800.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-atticroof-unvented-insulated-roof.xml,57.528,57.528,35.236,35.236,22.292,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.368,3.732,0.695,9.165,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.292,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.862,11.601,9.234,0.615,0.0,0.0,0.0,0.0,2128.9,2939.2,19.261,13.198,0.0,5.41,3.618,0.509,7.459,0.625,-2.094,0.0,0.0,8.254,-0.063,4.802,0.0,0.728,0.0,2.71,-11.418,0.0,-1.421,-0.414,-0.045,2.832,-0.014,9.931,0.0,0.0,-6.09,-0.054,-1.129,-2.881,-0.16,0.0,1.4,9.871,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,30549.0,4825.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,4190.0,4597.0,18589.0,1653.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,6198.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-atticroof-vented.xml,58.215,58.215,35.577,35.577,22.638,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.373,3.861,0.727,9.34,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.638,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.198,12.237,9.234,0.803,0.0,0.0,0.0,0.0,2134.3,3231.4,21.558,14.345,0.0,3.887,3.629,0.511,7.487,0.628,-2.065,0.0,0.0,8.265,-0.062,4.804,0.0,0.728,0.0,4.161,-11.089,0.0,-0.516,-0.438,-0.048,2.753,-0.019,9.86,0.0,0.0,-6.236,-0.058,-1.149,-2.986,-0.162,0.0,1.888,9.584,1354.8,997.6,11399.6,2615.8,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,15605.0,3604.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,1263.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-battery-scheduled.xml,60.424,60.424,37.594,37.594,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-battery-scheduled.xml,60.446,60.446,37.615,37.615,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-battery.xml,58.743,58.743,35.912,35.912,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-bldgtype-multifamily-adjacent-to-multifamily-buffer-space.xml,36.616,36.616,24.806,24.806,11.811,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.087,1.6,0.205,9.832,0.0,0.0,2.026,0.0,0.206,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,2.791,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,11.811,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.949,3.054,9.539,0.73,0.0,0.0,0.0,0.0,1572.3,1915.2,7.667,5.81,0.0,2.94,3.649,0.0,0.0,0.582,-0.166,0.0,2.975,0.0,-0.035,1.668,0.0,0.0,0.0,4.733,-5.435,0.0,-0.922,-0.231,0.0,0.0,-0.054,1.071,0.0,-0.935,0.0,-0.032,-0.285,-0.349,0.0,0.0,0.558,4.263,1354.8,997.6,11399.5,3156.5,12000.0,12000.0,0.0,6.8,91.76,12347.0,5659.0,903.0,0.0,378.0,1949.0,0.0,963.0,0.0,963.0,1532.0,7440.0,2262.0,1223.0,0.0,142.0,280.0,0.0,403.0,0.0,403.0,206.0,2520.0,458.0,0.0,-342.0,800.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-bldgtype-multifamily-adjacent-to-multiple.xml,31.829,31.829,25.239,25.239,6.59,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.048,2.08,0.311,9.717,0.0,0.0,2.026,0.0,0.206,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,2.791,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.59,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.113,4.964,9.539,0.61,0.0,0.0,0.0,0.0,1569.8,2359.3,9.397,10.56,0.0,-0.004,3.294,0.0,0.0,1.383,-0.201,0.0,4.543,0.0,-0.057,1.248,0.0,0.79,0.0,2.45,-7.438,0.0,0.0,-0.445,0.0,0.0,-0.418,3.387,0.0,-3.023,0.0,-0.051,-0.247,-1.106,-0.13,0.0,0.48,6.588,1354.8,997.6,11399.6,3156.5,12000.0,12000.0,0.0,6.8,91.76,12328.0,5014.0,2576.0,0.0,296.0,1671.0,0.0,1239.0,0.0,0.0,1532.0,9379.0,1558.0,3495.0,0.0,142.0,277.0,0.0,1181.0,0.0,0.0,206.0,2520.0,458.0,0.0,-342.0,800.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -55,7 +55,7 @@ base-bldgtype-multifamily.xml,26.876,26.876,26.2,26.2,0.676,0.0,0.0,0.0,0.0,0.0,
base-bldgtype-single-family-attached-2stories.xml,51.612,51.612,34.559,34.559,17.053,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.222,3.253,0.58,9.228,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,17.053,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,15.904,9.714,9.269,0.614,0.0,0.0,0.0,0.0,2112.4,3021.3,17.872,14.196,0.0,2.424,5.051,0.296,4.358,0.636,-0.789,0.0,0.0,4.99,-0.068,7.092,0.0,0.728,0.0,2.352,-11.4,0.0,0.007,-0.648,-0.026,1.614,-0.018,6.155,0.0,0.0,-3.98,-0.063,-1.693,-2.541,-0.162,0.0,1.305,9.887,1354.8,997.6,11399.6,2678.3,48000.0,36000.0,0.0,6.8,91.76,27861.0,7450.0,5147.0,0.0,575.0,5388.0,0.0,0.0,1913.0,1447.0,5942.0,16506.0,4315.0,6988.0,0.0,207.0,333.0,0.0,0.0,0.0,1340.0,803.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-bldgtype-single-family-attached-atticroof-cathedral.xml,98.047,98.047,37.197,37.197,60.85,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.793,4.948,0.944,9.236,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,60.85,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,56.741,15.617,9.269,0.623,0.0,0.0,0.0,0.0,2161.4,4385.4,36.465,27.658,49.5,0.0,2.937,0.289,3.699,0.667,-0.088,0.0,0.0,3.437,-0.838,7.548,0.0,0.773,0.0,0.0,-12.354,8.574,0.0,-0.154,0.004,1.546,0.121,4.57,0.0,0.0,-4.261,-0.799,-0.85,-1.172,-0.093,0.0,0.0,8.942,1354.8,997.6,11399.6,2678.3,48000.0,36000.0,0.0,6.8,91.76,43510.0,0.0,3210.0,0.0,575.0,4222.0,27649.0,0.0,1913.0,0.0,5942.0,23553.0,0.0,5262.0,0.0,207.0,210.0,14551.0,0.0,0.0,0.0,803.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-bldgtype-single-family-attached.xml,42.689,42.689,29.914,29.914,12.774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.094,2.733,0.467,9.441,0.0,0.0,3.268,0.0,0.27,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,5.583,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12.774,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,11.846,7.788,9.387,0.614,0.0,0.0,0.0,0.0,1823.2,2597.4,13.184,9.997,0.0,2.342,2.365,0.292,4.233,0.623,-0.404,0.0,0.0,4.663,-0.043,3.032,0.0,0.726,0.0,3.241,-9.37,0.0,0.024,-0.285,-0.027,1.554,-0.023,2.998,0.0,0.0,-4.085,-0.041,-0.769,-1.218,-0.166,0.0,1.59,8.289,1354.8,997.6,11399.6,2887.5,24000.0,24000.0,0.0,6.8,91.76,21565.0,8148.0,2576.0,0.0,575.0,3842.0,0.0,0.0,1913.0,1447.0,3065.0,13226.0,5081.0,3495.0,0.0,207.0,170.0,0.0,0.0,0.0,1340.0,413.0,2520.0,117.0,0.0,-683.0,800.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-calctype-operational-misc-defaults.xml,70.055,49.804,40.006,19.754,30.05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.496,2.306,0.347,7.15,0.0,0.326,4.51,0.0,0.334,1.118,0.0,0.0,1.097,2.36,0.0,0.0,0.769,0.544,4.047,2.057,0.745,3.051,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-20.251,0.0,0.377,30.05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,28.127,5.641,18.469,0.643,0.0,11.971,0.0,0.0,3202.3,3060.6,25.615,14.631,0.0,3.791,3.686,0.519,7.502,0.644,-1.967,0.0,0.0,8.352,-0.075,1.526,0.0,14.997,0.0,2.607,-13.727,0.0,0.229,-0.157,-0.008,3.413,0.052,10.641,0.0,0.0,-5.233,-0.071,-0.212,0.0,-3.563,-11.335,0.461,12.435,2592.2,2706.6,21154.0,5664.2,36000.0,24000.0,0.0,6.8,91.76,31061.0,4629.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,7324.0,14665.0,902.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,1634.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-calctype-operational-misc-defaults.xml,70.058,49.806,40.008,19.756,30.05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.496,2.306,0.347,7.15,0.0,0.326,4.51,0.0,0.334,1.118,0.0,0.0,1.097,2.36,0.0,0.0,0.769,0.544,4.047,2.057,0.745,3.051,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-20.251,0.0,0.377,30.05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,28.127,5.641,18.469,0.643,0.0,11.971,0.0,0.0,3202.3,3060.6,25.615,14.631,0.0,3.791,3.686,0.519,7.502,0.644,-1.967,0.0,0.0,8.352,-0.075,1.526,0.0,14.997,0.0,2.607,-13.727,0.0,0.229,-0.157,-0.008,3.413,0.052,10.641,0.0,0.0,-5.233,-0.071,-0.212,0.0,-3.563,-11.335,0.461,12.435,2592.2,2706.6,21154.0,5664.2,36000.0,24000.0,0.0,6.8,91.76,31061.0,4629.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,7324.0,14665.0,902.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,1634.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-calctype-operational-misc-loads-large-uncommon.xml,101.546,101.546,51.96,51.96,41.68,0.0,2.609,5.297,0.0,0.0,0.0,0.0,0.354,4.467,0.872,3.939,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,4.61,1.024,0.0,0.158,0.21,0.868,1.158,0.0,1.46,8.374,5.687,1.186,0.0,6.721,3.032,2.994,0.0,0.0,0.0,21.458,0.0,0.0,0.0,0.0,0.0,18.628,0.0,0.0,1.594,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.609,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5.297,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.095,14.998,3.621,0.613,0.0,0.0,0.0,0.0,2605.5,4111.2,23.013,18.578,0.0,3.568,3.651,0.514,7.558,0.632,-1.976,0.0,0.0,8.348,-0.065,4.809,0.0,0.728,0.0,4.681,-12.696,0.0,-0.083,-0.488,-0.055,2.62,-0.032,9.738,0.0,0.0,-6.456,-0.062,-1.189,-3.18,-0.169,0.0,3.274,11.26,777.8,496.4,4294.1,850.6,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-calctype-operational-misc-loads-large-uncommon2.xml,80.492,80.492,49.534,49.534,23.052,2.609,0.0,0.0,5.297,0.0,0.0,0.0,0.354,4.467,0.872,3.939,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,4.61,1.024,0.0,0.158,0.21,0.868,1.158,0.0,1.46,8.374,5.687,1.186,0.0,6.721,0.606,2.994,0.0,0.0,0.0,21.458,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.594,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.609,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5.297,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.095,14.998,3.621,0.613,0.0,0.0,0.0,0.0,2407.2,3924.9,23.013,18.578,0.0,3.568,3.651,0.514,7.558,0.632,-1.976,0.0,0.0,8.348,-0.065,4.809,0.0,0.728,0.0,4.681,-12.696,0.0,-0.083,-0.488,-0.055,2.62,-0.032,9.738,0.0,0.0,-6.456,-0.062,-1.189,-3.18,-0.169,0.0,3.274,11.26,777.8,496.4,4294.1,850.6,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-calctype-operational.xml,53.293,53.293,28.339,28.339,24.954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.412,3.948,0.744,3.942,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.158,0.21,0.868,1.158,0.0,1.46,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,24.954,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.371,12.781,3.621,0.616,0.0,0.0,0.0,0.0,1659.7,3135.5,23.657,17.331,0.0,3.519,3.624,0.51,7.468,0.627,-2.082,0.0,0.0,8.25,-0.061,4.801,0.0,0.725,0.0,5.36,-9.692,0.0,-0.003,-0.422,-0.046,2.807,-0.015,9.91,0.0,0.0,-6.153,-0.057,-1.131,-2.89,-0.16,0.0,2.908,8.203,777.8,496.4,4294.0,850.5,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -352,9 +352,9 @@ base-misc-bills-pv-detailed-only.xml,58.743,31.857,35.912,9.026,22.831,0.0,0.0,0
base-misc-bills-pv-mixed.xml,58.743,31.857,35.912,9.026,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-misc-bills-pv.xml,58.743,1.48,35.912,-21.351,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-57.264,0.0,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-misc-bills.xml,58.743,58.743,35.912,35.912,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-misc-defaults.xml,63.82,44.272,31.473,11.925,32.347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.534,2.189,0.321,2.18,0.0,0.312,4.51,0.0,0.334,1.118,0.0,0.0,1.066,2.36,0.0,0.0,0.447,0.338,2.514,1.528,0.745,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-19.548,0.0,0.494,32.347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,30.278,5.223,10.641,0.694,0.0,9.158,0.0,0.0,2426.4,2793.5,26.061,14.278,0.0,3.486,3.682,0.517,7.45,1.118,-1.945,0.0,0.0,8.236,-0.093,1.533,0.0,15.072,0.0,2.802,-11.852,0.0,0.704,-0.084,0.003,3.464,-0.192,10.775,0.0,0.0,-5.195,-0.089,-0.197,0.0,-3.391,-10.662,0.429,10.567,1610.4,1574.2,10555.8,3720.0,36000.0,24000.0,0.0,6.8,91.76,31061.0,4629.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,7324.0,14665.0,902.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,1634.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-misc-emissions.xml,59.521,32.634,36.69,9.803,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.781,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,5147.32,1784.34,66.43,708.27,135.22,1590.64,790.52,60.7,392.41,55.6,62.16,257.77,261.29,375.64,1467.15,-4339.79,-99.69,3362.98,3362.98,4556.72,1193.74,43.71,405.48,75.83,943.85,474.09,37.41,232.37,33.15,36.24,150.75,155.82,224.9,888.52,-2371.19,-137.2,3362.98,3362.98,5850.56,2487.58,95.54,1083.82,208.81,2324.48,1143.92,84.66,563.04,80.8,92.67,383.71,387.61,536.3,2124.29,-6820.1,198.04,3362.98,3362.98,1.12,1.1,0.04,0.48,0.09,1.03,0.51,0.04,0.25,0.04,0.04,0.17,0.17,0.24,0.94,-3.03,0.09,0.01,0.01,4.03,1.93,0.07,0.84,0.16,1.8,0.89,0.07,0.44,0.06,0.07,0.3,0.3,0.42,1.64,-5.28,0.15,2.11,2.11
-base-misc-generators-battery-scheduled.xml,77.424,74.012,37.594,34.181,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-3.412,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-misc-defaults.xml,63.823,44.275,31.476,11.928,32.347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.534,2.189,0.321,2.18,0.0,0.312,4.51,0.0,0.334,1.118,0.0,0.0,1.066,2.36,0.0,0.0,0.447,0.338,2.514,1.528,0.745,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-19.548,0.0,0.494,32.347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,30.278,5.223,10.641,0.694,0.0,9.158,0.0,0.0,2426.4,2793.5,26.061,14.278,0.0,3.486,3.682,0.517,7.45,1.118,-1.945,0.0,0.0,8.236,-0.093,1.533,0.0,15.072,0.0,2.802,-11.852,0.0,0.704,-0.084,0.003,3.464,-0.192,10.775,0.0,0.0,-5.195,-0.089,-0.197,0.0,-3.391,-10.662,0.429,10.567,1610.4,1574.2,10555.8,3720.0,36000.0,24000.0,0.0,6.8,91.76,31061.0,4629.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,7324.0,14665.0,902.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,1634.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-misc-emissions.xml,59.524,32.637,36.693,9.807,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.781,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,5147.32,1784.34,66.43,708.27,135.22,1590.64,790.52,60.7,392.41,55.6,62.16,257.77,261.29,375.64,1467.15,-4339.79,-99.69,3362.98,3362.98,4556.72,1193.74,43.71,405.48,75.83,943.85,474.09,37.41,232.37,33.15,36.24,150.75,155.82,224.9,888.52,-2371.19,-137.2,3362.98,3362.98,5850.56,2487.58,95.54,1083.82,208.81,2324.48,1143.92,84.66,563.04,80.8,92.67,383.71,387.61,536.3,2124.29,-6820.1,198.04,3362.98,3362.98,1.12,1.1,0.04,0.48,0.09,1.03,0.51,0.04,0.25,0.04,0.04,0.17,0.17,0.24,0.94,-3.03,0.09,0.01,0.01,4.03,1.93,0.07,0.84,0.16,1.8,0.89,0.07,0.44,0.06,0.07,0.3,0.3,0.42,1.64,-5.28,0.15,2.11,2.11
+base-misc-generators-battery-scheduled.xml,77.446,74.034,37.615,34.203,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-3.412,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-misc-generators-battery.xml,75.743,72.331,35.912,32.5,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-3.412,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-misc-generators.xml,75.743,72.331,35.912,32.5,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-3.412,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-misc-ground-conductivity.xml,56.423,56.423,35.833,35.833,20.591,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.34,4.239,0.815,9.163,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.591,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.282,13.826,9.234,0.614,0.0,0.0,0.0,0.0,2105.7,3303.7,22.17,17.953,0.0,3.58,3.657,0.515,7.281,0.633,-1.974,0.0,0.0,6.657,-0.06,4.809,0.0,0.729,0.0,4.507,-11.389,0.0,-0.051,-0.464,-0.052,2.411,-0.027,9.796,0.0,0.0,-6.108,-0.055,-1.176,-3.078,-0.167,0.0,3.08,9.898,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,31497.0,8574.0,7508.0,0.0,575.0,6098.0,0.0,0.0,1975.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
@@ -364,13 +364,13 @@ base-misc-loads-none.xml,53.537,53.537,24.68,24.68,28.857,0.0,0.0,0.0,0.0,0.0,0.
base-misc-neighbor-shading.xml,61.613,61.613,35.585,35.585,26.028,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.429,3.964,0.749,9.166,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,26.028,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,24.376,12.696,9.234,0.616,0.0,0.0,0.0,0.0,2116.8,3194.6,23.3,17.061,0.0,3.507,3.809,0.561,7.402,0.827,0.339,0.0,0.0,8.048,-0.061,4.794,0.0,0.725,0.0,5.537,-11.433,0.0,-0.003,-0.534,-0.07,2.804,-0.081,8.486,0.0,0.0,-6.136,-0.056,-1.138,-2.926,-0.16,0.0,2.833,9.856,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-misc-shielding-of-home.xml,58.397,58.397,36.051,36.051,22.345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.369,4.391,0.853,9.163,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.345,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.926,14.505,9.234,0.614,0.0,0.0,0.0,0.0,2132.0,3292.2,23.034,17.861,0.0,3.547,3.636,0.512,7.503,0.629,-2.038,0.0,0.0,8.27,-0.064,4.422,0.0,0.729,0.0,4.848,-11.406,0.0,-0.057,-0.467,-0.052,2.669,-0.027,9.781,0.0,0.0,-6.372,-0.061,-1.059,-2.575,-0.167,0.0,3.166,9.881,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,31456.0,8573.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,3775.0,17855.0,5214.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,512.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-misc-usage-multiplier.xml,126.558,126.558,50.735,50.735,68.627,0.0,2.249,4.947,0.0,0.0,0.0,0.0,0.349,4.541,0.89,8.303,0.0,0.0,4.059,0.0,0.3,0.0,0.0,0.0,0.0,1.998,2.151,0.0,0.287,0.329,1.361,1.375,0.0,1.903,7.537,0.0,0.0,0.0,8.286,3.993,3.073,0.0,0.0,0.0,21.139,0.0,0.0,0.0,0.0,0.0,44.97,0.0,0.0,2.518,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.249,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.947,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.796,15.117,8.31,0.613,0.0,0.0,0.0,0.0,2739.6,4281.9,22.756,18.522,0.0,3.566,3.647,0.513,7.543,0.631,-1.992,0.0,0.0,8.318,-0.065,4.859,0.0,0.657,0.0,4.608,-12.834,0.0,-0.083,-0.487,-0.055,2.615,-0.033,9.737,0.0,0.0,-6.459,-0.061,-1.206,-3.21,-0.152,0.0,3.276,11.416,1219.3,897.9,10259.7,2354.3,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-pv-battery-ah.xml,59.521,32.634,36.69,9.803,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.781,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-pv-battery-garage.xml,59.894,33.008,35.419,8.533,24.475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.404,2.985,0.523,9.264,0.0,0.0,4.51,0.142,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.828,24.475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.914,8.733,9.234,0.722,0.0,0.0,0.0,0.0,2135.7,2506.5,18.053,10.771,0.0,3.527,3.787,0.502,5.84,0.613,1.992,0.0,0.0,6.558,-0.041,5.37,0.0,0.0,0.0,3.843,-9.273,0.0,0.117,-0.268,-0.035,2.444,0.002,6.623,0.0,0.0,-5.628,-0.038,-1.216,-2.073,0.0,0.0,1.281,7.682,1354.8,997.6,11399.5,2615.8,36000.0,24000.0,0.0,6.8,91.76,29872.0,8041.0,5506.0,0.0,575.0,6537.0,0.0,0.0,2446.0,2171.0,4597.0,15062.0,3154.0,6028.0,0.0,207.0,523.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-pv-battery-round-trip-efficiency.xml,60.654,33.768,37.823,10.937,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,1.914,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-pv-battery-scheduled.xml,60.424,33.538,37.594,10.707,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-pv-battery.xml,59.521,32.634,36.69,9.803,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.781,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-pv-generators-battery-scheduled.xml,77.424,47.126,37.594,7.295,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,-3.412,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-base-pv-generators-battery.xml,76.547,46.248,36.716,6.417,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,-3.412,0.807,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-pv-battery-ah.xml,59.524,32.637,36.693,9.807,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.781,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-pv-battery-garage.xml,59.897,33.011,35.422,8.536,24.475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.404,2.985,0.523,9.264,0.0,0.0,4.51,0.142,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.828,24.475,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.914,8.733,9.234,0.722,0.0,0.0,0.0,0.0,2135.7,2506.5,18.053,10.771,0.0,3.527,3.787,0.502,5.84,0.613,1.992,0.0,0.0,6.558,-0.041,5.37,0.0,0.0,0.0,3.843,-9.273,0.0,0.117,-0.268,-0.035,2.444,0.002,6.623,0.0,0.0,-5.628,-0.038,-1.216,-2.073,0.0,0.0,1.281,7.682,1354.8,997.6,11399.5,2615.8,36000.0,24000.0,0.0,6.8,91.76,29872.0,8041.0,5506.0,0.0,575.0,6537.0,0.0,0.0,2446.0,2171.0,4597.0,15062.0,3154.0,6028.0,0.0,207.0,523.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-pv-battery-round-trip-efficiency.xml,60.657,33.771,37.826,10.94,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,1.914,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-pv-battery-scheduled.xml,60.446,33.559,37.615,10.728,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-pv-battery.xml,59.524,32.637,36.693,9.807,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.781,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-pv-generators-battery-scheduled.xml,77.446,47.147,37.615,7.316,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,-3.412,1.703,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+base-pv-generators-battery.xml,76.55,46.251,36.719,6.42,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,-3.412,0.807,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-pv-generators.xml,75.743,45.445,35.912,5.614,31.331,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,-3.412,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.5,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-pv.xml,58.743,31.857,35.912,9.026,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.377,4.273,0.823,9.164,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.0,22.831,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.381,13.978,9.234,0.614,0.0,0.0,0.0,0.0,2109.6,3297.4,23.054,17.898,0.0,3.542,3.634,0.511,7.499,0.628,-2.046,0.0,0.0,8.272,-0.062,4.804,0.0,0.728,0.0,4.94,-11.406,0.0,-0.043,-0.455,-0.051,2.706,-0.024,9.816,0.0,0.0,-6.314,-0.059,-1.166,-3.064,-0.165,0.0,3.097,9.882,1354.8,997.6,11399.6,2615.9,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
base-schedules-detailed-all-10-mins.xml,60.176,60.176,36.175,36.175,24.001,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.396,4.462,0.863,9.169,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.218,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,24.001,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.476,14.586,9.21,0.638,0.0,0.0,0.333,1.0,9360.3,10852.1,37.395,21.881,0.0,3.592,3.658,0.515,7.565,0.64,-1.883,0.0,0.0,8.29,-0.061,5.303,0.0,0.776,0.0,5.225,-11.445,0.0,-0.163,-0.479,-0.055,2.728,-0.03,9.808,0.0,0.0,-6.288,-0.057,-1.272,-2.954,-0.176,0.0,3.329,10.339,1354.7,998.0,11489.7,2636.5,36000.0,24000.0,0.0,6.8,91.76,32302.0,8597.0,7508.0,0.0,575.0,6409.0,0.0,0.0,2446.0,2171.0,4597.0,17964.0,5216.0,7127.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,2520.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
diff --git a/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb b/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb
index 5ef1c9c9..3f66e67d 100644
--- a/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb
+++ b/example_files/resources/hpxml-measures/workflow/tests/hpxml_translator_test.rb
@@ -210,127 +210,53 @@ def test_run_simulation_timeseries_outputs
end
end
- def test_template_osw
- # Check that simulation works using template-run-hpxml.osw
+ def test_template_osws
+ # Check that simulation works using template-*.osw
require 'json'
- osw_path = File.join(File.dirname(__FILE__), '..', 'template-run-hpxml.osw')
+ ['template-run-hpxml.osw',
+ 'template-run-hpxml-with-stochastic-occupancy.osw',
+ 'template-run-hpxml-with-stochastic-occupancy-subset.osw',
+ 'template-build-and-run-hpxml-with-stochastic-occupancy.osw'].each do |osw_name|
+ osw_path = File.join(File.dirname(__FILE__), '..', osw_name)
- # Create derivative OSW for testing
- osw_path_test = osw_path.gsub('.osw', '_test.osw')
- FileUtils.cp(osw_path, osw_path_test)
+ # Create derivative OSW for testing
+ osw_path_test = osw_path.gsub('.osw', '_test.osw')
+ FileUtils.cp(osw_path, osw_path_test)
- # Turn on debug mode
- json = JSON.parse(File.read(osw_path_test), symbolize_names: true)
- json[:steps][0][:arguments][:debug] = true
+ # Turn on debug mode
+ json = JSON.parse(File.read(osw_path_test), symbolize_names: true)
+ measure_index = json[:steps].find_index { |m| m[:measure_dir_name] == 'HPXMLtoOpenStudio' }
+ json[:steps][measure_index][:arguments][:debug] = true
- if Dir.exist? File.join(File.dirname(__FILE__), '..', '..', 'project')
- # CI checks out the repo as "project", so update dir name
- json[:steps][0][:measure_dir_name] = 'project'
- end
-
- File.open(osw_path_test, 'w') do |f|
- f.write(JSON.pretty_generate(json))
- end
-
- command = "\"#{OpenStudio.getOpenStudioCLI}\" run -w \"#{osw_path_test}\""
- system(command, err: File::NULL)
-
- # Check for output files
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'eplusout.msgpack'))
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'results_annual.csv'))
-
- # Check for debug files
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'in.osm'))
- hpxml_defaults_path = File.join(File.dirname(osw_path_test), 'run', 'in.xml')
- assert(File.exist? hpxml_defaults_path)
-
- # Cleanup
- File.delete(osw_path_test)
- end
-
- def test_template_osw_with_schedule
- # Check that simulation works using template-run-hpxml-with-stochastic-occupancy.osw
- require 'json'
-
- osw_path = File.join(File.dirname(__FILE__), '..', 'template-run-hpxml-with-stochastic-occupancy.osw')
-
- # Create derivative OSW for testing
- osw_path_test = osw_path.gsub('.osw', '_test.osw')
- FileUtils.cp(osw_path, osw_path_test)
-
- # Turn on debug mode
- json = JSON.parse(File.read(osw_path_test), symbolize_names: true)
- json[:steps][1][:arguments][:debug] = true
-
- if Dir.exist? File.join(File.dirname(__FILE__), '..', '..', 'project')
- # CI checks out the repo as "project", so update dir name
- json[:steps][1][:measure_dir_name] = 'project'
- end
-
- File.open(osw_path_test, 'w') do |f|
- f.write(JSON.pretty_generate(json))
- end
-
- command = "\"#{OpenStudio.getOpenStudioCLI}\" run -w \"#{osw_path_test}\""
- system(command, err: File::NULL)
-
- # Check for output files
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'eplusout.msgpack'))
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'results_annual.csv'))
-
- # Check for debug files
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'in.osm'))
- hpxml_defaults_path = File.join(File.dirname(osw_path_test), 'run', 'in.xml')
- assert(File.exist? hpxml_defaults_path)
-
- # Cleanup
- File.delete(osw_path_test)
- xml_path_test = File.join(File.dirname(__FILE__), '..', 'run', 'base-stochastic-schedules.xml')
- File.delete(xml_path_test)
- end
-
- def test_template_osw_with_build_hpxml_and_schedule
- # Check that simulation works using template-build-and-run-hpxml-with-stochastic-occupancy.osw
- require 'json'
+ if Dir.exist? File.join(File.dirname(__FILE__), '..', '..', 'project')
+ # CI checks out the repo as "project", so update dir name
+ json[:steps][measure_index][:measure_dir_name] = 'project'
+ end
- osw_path = File.join(File.dirname(__FILE__), '..', 'template-build-and-run-hpxml-with-stochastic-occupancy.osw')
+ File.open(osw_path_test, 'w') do |f|
+ f.write(JSON.pretty_generate(json))
+ end
- # Create derivative OSW for testing
- osw_path_test = osw_path.gsub('.osw', '_test.osw')
- FileUtils.cp(osw_path, osw_path_test)
+ command = "\"#{OpenStudio.getOpenStudioCLI}\" run -w \"#{osw_path_test}\""
+ system(command, err: File::NULL)
- # Turn on debug mode
- json = JSON.parse(File.read(osw_path_test), symbolize_names: true)
- json[:steps][2][:arguments][:debug] = true
+ # Check for output files
+ assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'eplusout.msgpack'))
+ assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'results_annual.csv'))
- if Dir.exist? File.join(File.dirname(__FILE__), '..', '..', 'project')
- # CI checks out the repo as "project", so update dir name
- json[:steps][1][:measure_dir_name] = 'project'
- end
+ # Check for debug files
+ assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'in.osm'))
+ hpxml_defaults_path = File.join(File.dirname(osw_path_test), 'run', 'in.xml')
+ assert(File.exist? hpxml_defaults_path)
- File.open(osw_path_test, 'w') do |f|
- f.write(JSON.pretty_generate(json))
+ # Cleanup
+ File.delete(osw_path_test)
+ xml_path_test = File.join(File.dirname(__FILE__), '..', 'run', 'built.xml')
+ File.delete(xml_path_test) if File.exist?(xml_path_test)
+ xml_path_test = File.join(File.dirname(__FILE__), '..', 'run', 'built-stochastic-schedules.xml')
+ File.delete(xml_path_test) if File.exist?(xml_path_test)
end
-
- command = "\"#{OpenStudio.getOpenStudioCLI}\" run -w \"#{osw_path_test}\""
- system(command, err: File::NULL)
-
- # Check for output files
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'eplusout.msgpack'))
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'results_annual.csv'))
-
- # Check for debug files
- assert(File.exist? File.join(File.dirname(osw_path_test), 'run', 'in.osm'))
- hpxml_defaults_path = File.join(File.dirname(osw_path_test), 'run', 'in.xml')
- assert(File.exist? hpxml_defaults_path)
-
- # Cleanup
- File.delete(osw_path_test)
- xml_path_test = File.join(File.dirname(__FILE__), '..', 'run', 'built.xml')
- File.delete(xml_path_test)
- xml_path_test = File.join(File.dirname(__FILE__), '..', 'run', 'built-stochastic-schedules.xml')
- File.delete(xml_path_test)
end
def test_multiple_building_ids
diff --git a/lib/uo_cli.rb b/lib/uo_cli.rb
index d7a359b8..7f6fa758 100644
--- a/lib/uo_cli.rb
+++ b/lib/uo_cli.rb
@@ -1,7 +1,7 @@
#!/usr/bin/ ruby
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/lib/uo_cli/version.rb b/lib/uo_cli/version.rb
index ce67b46e..5ab336c9 100644
--- a/lib/uo_cli/version.rb
+++ b/lib/uo_cli/version.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
# Redistribution and use in source and binary forms, with or without modification,
@@ -40,6 +40,6 @@
module URBANopt
module CLI
- VERSION = '0.9.0'.freeze
+ VERSION = '0.9.1'.freeze
end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 53881f69..e4d4e2d8 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
# Redistribution and use in source and binary forms, with or without modification,
diff --git a/spec/uo_cli_spec.rb b/spec/uo_cli_spec.rb
index 8988064e..42071895 100644
--- a/spec/uo_cli_spec.rb
+++ b/spec/uo_cli_spec.rb
@@ -1,5 +1,5 @@
# *********************************************************************************
-# URBANopt™, Copyright (c) 2019-2022, Alliance for Sustainable Energy, LLC, and other
+# URBANopt™, Copyright (c) 2019-2023, Alliance for Sustainable Energy, LLC, and other
# contributors. All rights reserved.
# Redistribution and use in source and binary forms, with or without modification,