diff --git a/HPXMLtoOpenStudio/measure.rb b/HPXMLtoOpenStudio/measure.rb index 1ccf1e639b..1807e2238d 100644 --- a/HPXMLtoOpenStudio/measure.rb +++ b/HPXMLtoOpenStudio/measure.rb @@ -277,7 +277,7 @@ def process_whole_sfa_mf_inputs(hpxml) # SFA/MF building simulations, we'd need to create custom meters with electricity usage *for each unit* # and switch to "TrackMeterDemandStoreExcessOnSite". # https://github.com/NREL/OpenStudio-HPXML/issues/1499 - fail 'Modeling batteries for whole SFA/MF buildings is not currently supported.' + # fail 'Modeling batteries for whole SFA/MF buildings is not currently supported.' end end end @@ -388,8 +388,8 @@ def create_unit_model(hpxml, hpxml_bldg, runner, model, weather, schedules_file) # Other PV.apply(runner, model, hpxml_bldg) Generator.apply(model, hpxml_bldg) - Battery.apply(runner, model, spaces, hpxml_bldg, schedules_file) - Vehicle.apply(runner, model, spaces, hpxml_bldg, hpxml.header, schedules_file) + Battery.apply(runner, model, spaces, hpxml, hpxml_bldg, schedules_file) + Vehicle.apply(runner, model, spaces, hpxml, hpxml_bldg, hpxml.header, schedules_file) # Unit Meters Outputs.create_custom_unit_meters(model, hpxml) diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index c5e8327db2..09b8ff4489 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - f69f8c71-e00a-4bc7-8683-566de62c07f5 - 2026-01-13T20:00:36Z + 40743261-db1b-4704-85cb-babb19c24b04 + 2026-01-15T22:06:45Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -192,7 +192,7 @@ measure.rb rb script - 2001BC79 + E3D309E8 airflow.rb @@ -204,7 +204,7 @@ battery.rb rb resource - F9BB0DB6 + 9C83CBF5 calendar.rb @@ -480,7 +480,7 @@ output.rb rb resource - B6BE2EE5 + 0CE7A472 psychrometrics.rb @@ -684,7 +684,7 @@ vehicle.rb rb resource - F4638081 + C249066B version.rb @@ -726,7 +726,7 @@ test_battery.rb rb test - BD69BEA3 + 11254D6D test_defaults.rb @@ -810,13 +810,13 @@ test_validation.rb rb test - 1A14E141 + DEE2BEDA test_vehicle.rb rb test - 2EB7C07E + 39B48E52 test_water_heater.rb diff --git a/HPXMLtoOpenStudio/resources/battery.rb b/HPXMLtoOpenStudio/resources/battery.rb index 9daaaa85bc..a8b185e6c7 100644 --- a/HPXMLtoOpenStudio/resources/battery.rb +++ b/HPXMLtoOpenStudio/resources/battery.rb @@ -7,17 +7,18 @@ module Battery # @param runner [OpenStudio::Measure::OSRunner] Object typically used to display warnings # @param model [OpenStudio::Model::Model] OpenStudio Model object # @param spaces [Hash] Map of HPXML locations => OpenStudio Space objects + # @param hpxml [HPXML] HPXML object # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit # @param schedules_file [SchedulesFile] SchedulesFile wrapper class instance of detailed schedule files # @return [nil] - def self.apply(runner, model, spaces, hpxml_bldg, schedules_file) + def self.apply(runner, model, spaces, hpxml, hpxml_bldg, schedules_file) charging_schedule, discharging_schedule = nil, nil if not schedules_file.nil? charging_schedule = schedules_file.create_schedule_file(model, col_name: SchedulesFile::Columns[:BatteryCharging].name) discharging_schedule = schedules_file.create_schedule_file(model, col_name: SchedulesFile::Columns[:BatteryDischarging].name) end hpxml_bldg.batteries.each do |battery| - apply_battery(runner, model, spaces, hpxml_bldg, battery, charging_schedule, discharging_schedule) + apply_battery(runner, model, spaces, hpxml, hpxml_bldg, battery, charging_schedule, discharging_schedule) end end @@ -32,12 +33,13 @@ def self.apply(runner, model, spaces, hpxml_bldg, schedules_file) # @param runner [OpenStudio::Measure::OSRunner] Object typically used to display warnings # @param model [OpenStudio::Model::Model] OpenStudio Model object # @param spaces [Hash] Map of HPXML locations => OpenStudio Space objects + # @param hpxml [HPXML] HPXML object # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit # @param battery [HPXML::Battery, HPXML::Vehicle] Object that defines a single home battery or EV battery # @param charging_schedule [OpenStudio::Model::ScheduleXXX] The battery charging schedule # @param discharging_schedule [OpenStudio::Model::ScheduleXXX] The battery discharging schedule # @return [nil] - def self.apply_battery(runner, model, spaces, hpxml_bldg, battery, charging_schedule, discharging_schedule) + def self.apply_battery(runner, model, spaces, hpxml, hpxml_bldg, battery, charging_schedule, discharging_schedule) nbeds = hpxml_bldg.building_construction.number_of_bedrooms unit_multiplier = hpxml_bldg.building_construction.number_of_units pv_systems = hpxml_bldg.pv_systems @@ -149,7 +151,18 @@ def self.apply_battery(runner, model, spaces, hpxml_bldg, battery, charging_sche elcd = elcds.find { |elcd| elcd.name.to_s.include?('PVSystem') } if elcd elcd.setElectricalBussType('DirectCurrentWithInverterACStorage') - elcd.setStorageOperationScheme('TrackFacilityElectricDemandStoreExcessOnSite') + # Use TrackMeterDemandStoreExcessOnSite for single unit simulations. + # Even when custom Electricity_Facility mirrors Electricity:Facility + # exactly, TrackMeterDemandStoreExcessOnSite produces different results + # than TrackFacilityElectricDemandStoreExcessOnSite. + elcd.setStorageOperationScheme('TrackMeterDemandStoreExcessOnSite') + if hpxml.buildings.size == 1 + meter_name = 'Electricity_Facility' + else + unit_num = hpxml.buildings.index(hpxml_bldg) + 1 + meter_name = "unit#{unit_num}_Electricity_Facility" + end + elcd.setStorageControlTrackMeterName(meter_name) else elcd = OpenStudio::Model::ElectricLoadCenterDistribution.new(model) elcd.setName("#{obj_name} elec load center dist") @@ -165,6 +178,7 @@ def self.apply_battery(runner, model, spaces, hpxml_bldg, battery, charging_sche if (not charging_schedule.nil?) && (not discharging_schedule.nil?) elcd.setStorageOperationScheme('TrackChargeDischargeSchedules') + elcd.resetStorageControlTrackMeterName # In case scheduled battery w/PV elcd.setStorageChargePowerFractionSchedule(charging_schedule) elcd.setStorageDischargePowerFractionSchedule(discharging_schedule) diff --git a/HPXMLtoOpenStudio/resources/output.rb b/HPXMLtoOpenStudio/resources/output.rb index c95f367065..68a9f39404 100644 --- a/HPXMLtoOpenStudio/resources/output.rb +++ b/HPXMLtoOpenStudio/resources/output.rb @@ -1512,6 +1512,8 @@ def self.create_custom_meters(model, custom_unit_meter = nil) if custom_unit_meter.nil? key_vars << ['', 'Electricity:Facility'] else + # Since custom meter cannot reference other custom meters, copy + # all custom meter key/variable groups to this custom meter. key_vars = custom_unit_meter.keyVarGroups end Model.add_meter_custom( @@ -1548,8 +1550,6 @@ def self.create_custom_meters(model, custom_unit_meter = nil) # @param hpxml [HPXML] HPXML object # @return [nil] def self.create_custom_unit_meters(model, hpxml) - return if hpxml.buildings.size == 1 - to_eplus = { FT::Elec => EPlus::FuelTypeElectricity, FT::Gas => EPlus::FuelTypeNaturalGas, FT::Oil => EPlus::FuelTypeOil, @@ -1575,15 +1575,14 @@ def self.create_custom_unit_meters(model, hpxml) next unless to_eplus[ft] == fuel_type output_vars.each do |output_var| - next if output_var.include? 'ExteriorLights:Electricity' # not associated with a zone, so the meter is across all units - next if output_var.include? 'InteriorLights:Electricity' # same as above; like interior equipment, we *could* switch to zone level - next if output_var.include? 'Electric Storage Charge Energy' # vehicles + next if output_var.include? 'ExteriorLights:Electricity' # Not associated with a zone, so the meter is across all units. + next if output_var.include? 'InteriorLights:Electricity' # Same as above; like interior equipment, we *could* switch to zone level. key_vars << [object.name.to_s, output_var] end end - # FIXME: can we simplify all this special stuff? + # FIXME: Can we simplify/avoid all this special stuff? if fuel_type == EPlus::FuelTypeElectricity if object.to_ElectricLoadCenterInverterPVWatts.is_initialized key_vars << [object.name.to_s, 'Inverter Ancillary AC Electricity Energy'] @@ -1603,7 +1602,10 @@ def self.create_custom_unit_meters(model, hpxml) end end - # Avoid the "Output Variable or Meter Name="x:y:z" referenced multiple times, only first instance will be used" E+ warning + next if key_vars.empty? + + # Avoid the "Output Variable or Meter Name="x:y:z" referenced multiple + # times, only first instance will be used" E+ warning. key_vars.each_with_index do |key_var1, i| key_vars.each_with_index do |key_var2, j| next if key_var1 == key_var2 @@ -1615,16 +1617,16 @@ def self.create_custom_unit_meters(model, hpxml) end end - next if key_vars.empty? - meter_custom = Model.add_meter_custom( model, - name: "#{fuel_type}:Facility", + name: "#{fuel_type}_Facility", fuel_type: fuel_type, key_var_pairs: key_vars ) - if fuel_type == EPlus::FuelTypeElectricity + # We only need the electricity Total, Net, PV, Critical meters by unit when + # there are multiple units. + if (fuel_type == EPlus::FuelTypeElectricity) && (hpxml.buildings.size > 1) Outputs.create_custom_meters(model, meter_custom) end end diff --git a/HPXMLtoOpenStudio/resources/vehicle.rb b/HPXMLtoOpenStudio/resources/vehicle.rb index 48242d2b4a..ed5869746a 100644 --- a/HPXMLtoOpenStudio/resources/vehicle.rb +++ b/HPXMLtoOpenStudio/resources/vehicle.rb @@ -8,18 +8,19 @@ module Vehicle # @param runner [OpenStudio::Measure::OSRunner] Object typically used to display warnings # @param model [OpenStudio::Model::Model] OpenStudio Model object # @param spaces [Hash] Map of HPXML locations => OpenStudio Space objects + # @param hpxml [HPXML] HPXML object # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit # @param hpxml_header [HPXML::Header] HPXML Header object (one per HPXML file) # @param schedules_file [SchedulesFile] SchedulesFile wrapper class instance of detailed schedule files # @return [nil] - def self.apply(runner, model, spaces, hpxml_bldg, hpxml_header, schedules_file) + def self.apply(runner, model, spaces, hpxml, hpxml_bldg, hpxml_header, schedules_file) hpxml_bldg.vehicles.each do |vehicle| if vehicle.vehicle_type != HPXML::VehicleTypeBEV # Warning issued by Schematron validator next end - apply_electric_vehicle(runner, model, spaces, hpxml_bldg, hpxml_header, vehicle, schedules_file) + apply_electric_vehicle(runner, model, spaces, hpxml, hpxml_bldg, hpxml_header, vehicle, schedules_file) end end @@ -30,12 +31,13 @@ def self.apply(runner, model, spaces, hpxml_bldg, hpxml_header, schedules_file) # @param runner [OpenStudio::Measure::OSRunner] Object typically used to display warnings # @param model [OpenStudio::Model::Model] OpenStudio Model object # @param spaces [Hash] Map of HPXML locations => OpenStudio Space objects + # @param hpxml [HPXML] HPXML object # @param hpxml_bldg [HPXML::Building] HPXML Building object representing an individual dwelling unit # @param hpxml_header [HPXML::Header] HPXML Header object (one per HPXML file) # @param vehicle [HPXML::Vehicle] Object that defines a single electric vehicle # @param schedules_file [SchedulesFile] SchedulesFile wrapper class instance of detailed schedule files # @return [nil] - def self.apply_electric_vehicle(runner, model, spaces, hpxml_bldg, hpxml_header, vehicle, schedules_file) + def self.apply_electric_vehicle(runner, model, spaces, hpxml, hpxml_bldg, hpxml_header, vehicle, schedules_file) unit_multiplier = hpxml_bldg.building_construction.number_of_units if hpxml_bldg.plug_loads.any? { |pl| pl.plug_load_type == HPXML::PlugLoadTypeElectricVehicleCharging } # Warning issued by Schematron validator @@ -95,7 +97,7 @@ def self.apply_electric_vehicle(runner, model, spaces, hpxml_bldg, hpxml_header, vehicle.additional_properties.eff_discharge_power = eff_discharge_power * unit_multiplier # Apply vehicle battery to model - Battery.apply_battery(runner, model, spaces, hpxml_bldg, vehicle, charging_schedule, discharging_schedule) + Battery.apply_battery(runner, model, spaces, hpxml, hpxml_bldg, vehicle, charging_schedule, discharging_schedule) temp_sensor = Model.add_ems_sensor( model, diff --git a/HPXMLtoOpenStudio/tests/test_battery.rb b/HPXMLtoOpenStudio/tests/test_battery.rb index 85086d34f8..904e31096d 100644 --- a/HPXMLtoOpenStudio/tests/test_battery.rb +++ b/HPXMLtoOpenStudio/tests/test_battery.rb @@ -77,7 +77,8 @@ def test_battery_default assert_equal(5000.0, elcd.designStorageControlChargePower.get) assert_equal(5000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) - assert_equal('TrackFacilityElectricDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('TrackMeterDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('Electricity_Facility', elcd.storageControlTrackMeterName.get) end end @@ -128,6 +129,7 @@ def test_battery_scheduled assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) assert_equal('TrackChargeDischargeSchedules', elcd.storageOperationScheme) + assert(!elcd.storageControlTrackMeterName.is_initialized) assert(elcd.storageChargePowerFractionSchedule.is_initialized) assert(elcd.storageDischargePowerFractionSchedule.is_initialized) assert(elcd.storageConverter.is_initialized) @@ -171,7 +173,8 @@ def test_pv_battery assert_equal(6000.0, elcd.designStorageControlChargePower.get) assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) - assert_equal('TrackFacilityElectricDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('TrackMeterDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('Electricity_Facility', elcd.storageControlTrackMeterName.get) assert(!elcd.storageChargePowerFractionSchedule.is_initialized) assert(!elcd.storageDischargePowerFractionSchedule.is_initialized) assert(!elcd.storageConverter.is_initialized) @@ -210,7 +213,8 @@ def test_pv_battery_shared assert_equal(6000.0, elcd.designStorageControlChargePower.get) assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) - assert_equal('TrackFacilityElectricDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('TrackMeterDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('Electricity_Facility', elcd.storageControlTrackMeterName.get) assert(!elcd.storageChargePowerFractionSchedule.is_initialized) assert(!elcd.storageDischargePowerFractionSchedule.is_initialized) assert(!elcd.storageConverter.is_initialized) @@ -250,6 +254,7 @@ def test_pv_battery_scheduled assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) assert_equal('TrackChargeDischargeSchedules', elcd.storageOperationScheme) + assert(!elcd.storageControlTrackMeterName.is_initialized) assert(elcd.storageChargePowerFractionSchedule.is_initialized) assert(elcd.storageDischargePowerFractionSchedule.is_initialized) assert(elcd.storageConverter.is_initialized) @@ -293,7 +298,8 @@ def test_pv_battery_round_trip_efficiency assert_equal(6000.0, elcd.designStorageControlChargePower.get) assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) - assert_equal('TrackFacilityElectricDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('TrackMeterDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('Electricity_Facility', elcd.storageControlTrackMeterName.get) assert(!elcd.storageChargePowerFractionSchedule.is_initialized) assert(!elcd.storageDischargePowerFractionSchedule.is_initialized) assert(!elcd.storageConverter.is_initialized) @@ -333,7 +339,8 @@ def test_pv_battery_garage assert_equal(6000.0, elcd.designStorageControlChargePower.get) assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) - assert_equal('TrackFacilityElectricDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('TrackMeterDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('Electricity_Facility', elcd.storageControlTrackMeterName.get) end end @@ -369,7 +376,8 @@ def test_pv_battery_ah assert_equal(6000.0, elcd.designStorageControlChargePower.get) assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) - assert_equal('TrackFacilityElectricDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('TrackMeterDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('Electricity_Facility', elcd.storageControlTrackMeterName.get) end end diff --git a/HPXMLtoOpenStudio/tests/test_validation.rb b/HPXMLtoOpenStudio/tests/test_validation.rb index fe028b4c70..b7e93b1053 100644 --- a/HPXMLtoOpenStudio/tests/test_validation.rb +++ b/HPXMLtoOpenStudio/tests/test_validation.rb @@ -1399,7 +1399,6 @@ def test_ruby_error_messages 'unique-objects-vary-across-units-epw' => ['Weather station EPW filepath has different values across dwelling units.'], 'unique-objects-vary-across-units-dst' => ['Unique object (OS:RunPeriodControl:DaylightSavingTime) has different values across dwelling units.'], 'unique-objects-vary-across-units-tmains' => ['Unique object (OS:Site:WaterMainsTemperature) has different values across dwelling units.'], - 'whole-mf-building-batteries' => ['Modeling batteries for whole SFA/MF buildings is not currently supported.'], 'whole-mf-building-dehumidifiers-unit-multiplier' => ['NumberofUnits greater than 1 is not supported for dehumidifiers.'], 'whole-mf-building-gshps-unit-multiplier' => ['NumberofUnits greater than 1 is not supported for ground-to-air heat pumps.'] } @@ -1973,10 +1972,6 @@ def test_ruby_error_messages hpxml_bldg.hot_water_distributions[0].dwhr_facilities_connected = HPXML::DWHRFacilitiesConnectedOne hpxml_bldg.hot_water_distributions[0].dwhr_equal_flow = true hpxml_bldg.hot_water_distributions[0].dwhr_efficiency = 0.55 - when 'whole-mf-building-batteries' - hpxml, hpxml_bldg = _create_hpxml('base-bldgtype-mf-whole-building.xml', building_id: building_id) - hpxml_bldg.batteries.add(id: 'Battery1', - type: HPXML::BatteryTypeLithiumIon) when 'whole-mf-building-dehumidifiers-unit-multiplier' hpxml, hpxml_bldg = _create_hpxml('base-appliances-dehumidifier.xml') hpxml_bldg.building_construction.number_of_units = 2 diff --git a/HPXMLtoOpenStudio/tests/test_vehicle.rb b/HPXMLtoOpenStudio/tests/test_vehicle.rb index 5346a5d785..4359b3fea1 100644 --- a/HPXMLtoOpenStudio/tests/test_vehicle.rb +++ b/HPXMLtoOpenStudio/tests/test_vehicle.rb @@ -261,7 +261,8 @@ def test_vehicle_ev_home_battery assert_equal(6000.0, elcd.designStorageControlChargePower.get) assert_equal(6000.0, elcd.designStorageControlDischargePower.get) assert(!elcd.demandLimitSchemePurchasedElectricDemandLimit.is_initialized) - assert_equal('TrackFacilityElectricDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('TrackMeterDemandStoreExcessOnSite', elcd.storageOperationScheme) + assert_equal('Electricity_Facility', elcd.storageControlTrackMeterName.get) assert(!elcd.storageChargePowerFractionSchedule.is_initialized) assert(!elcd.storageDischargePowerFractionSchedule.is_initialized) assert(!elcd.storageConverter.is_initialized) diff --git a/ReportSimulationOutput/measure.rb b/ReportSimulationOutput/measure.rb index 5494d380f3..a733e730e6 100644 --- a/ReportSimulationOutput/measure.rb +++ b/ReportSimulationOutput/measure.rb @@ -435,7 +435,14 @@ def modelOutputRequests(model, runner, user_arguments) if args[:timeseries_frequency] != EPlus::TimeseriesFrequencyTimestep resilience_frequency = EPlus::TimeseriesFrequencyHourly end - Model.add_output_meter(model, meter_name: Outputs::MeterCustomElectricityCritical, reporting_frequency: resilience_frequency) + if @hpxml_bldgs.size == 1 + Model.add_output_meter(model, meter_name: Outputs::MeterCustomElectricityCritical, reporting_frequency: resilience_frequency) + else + @hpxml_bldgs.each do |hpxml_bldg| + unit_num = @hpxml_bldgs.index(hpxml_bldg) + 1 + Model.add_output_meter(model, meter_name: "unit#{unit_num}_#{Outputs::MeterCustomElectricityCritical.gsub(':', '_')}", reporting_frequency: resilience_frequency) + end + end @resilience.values.each do |resilience| resilience.variables.each do |_sys_id, varkey, var| Model.add_output_variable(model, key_value: varkey, variable_name: var, reporting_frequency: resilience_frequency) @@ -1081,27 +1088,6 @@ def get_outputs(runner, args) next unless (args[:include_annual_resilience] || args[:include_timeseries_resilience]) next if resilience.variables.empty? - batteries = [] - @hpxml_bldgs.each do |hpxml_bldg| - hpxml_bldg.batteries.each do |battery| - batteries << battery - end - end - next if batteries.empty? - - if batteries.size > 1 - # When modeling individual dwelling units, OS-HPXML only allows a single battery - # When modeling whole SFA/MF buildings, OS-HPXML does not currently allow batteries - fail 'Unexpected error.' - end - - battery = batteries[0] - - elcd = @model.getElectricLoadCenterDistributions.find { |elcd| elcd.additionalProperties.getFeatureAsString('HPXML_ID').to_s == battery.id } - next if elcd.nil? - - elcs = @model.getElectricLoadCenterStorageLiIonNMCBatterys.find { |elcs| elcs.additionalProperties.getFeatureAsString('HPXML_ID').to_s == battery.id } - resilience_frequency = EPlus::TimeseriesFrequencyTimestep ts_per_hr = @model.getTimestep.numberOfTimestepsPerHour if args[:timeseries_frequency] != EPlus::TimeseriesFrequencyTimestep @@ -1109,32 +1095,59 @@ def get_outputs(runner, args) ts_per_hr = 1 end - vars = ['Electric Storage Charge Fraction'] - keys = resilience.variables.select { |v| v[2] == vars[0] }.map { |v| v[1] } - batt_soc = get_report_variable_data_timeseries(keys, vars, 1, 0, resilience_frequency) + annual_outputs = [] + timeseries_outputs = [] + @hpxml_bldgs.each do |hpxml_bldg| + if hpxml_bldg.batteries.size > 1 + # When modeling individual dwelling units, OS-HPXML only allows a single battery + fail 'Unexpected error.' + end + next if hpxml_bldg.batteries.size == 0 + + battery = hpxml_bldg.batteries[0] - min_soc = elcd.minimumStorageStateofChargeFraction - batt_kw = elcd.designStorageControlDischargePower.get / 1000.0 - batt_roundtrip_eff = elcs.dctoDCChargingEfficiency - batt_kwh = elcs.additionalProperties.getFeatureAsDouble('UsableCapacity_kWh').get + elcd = @model.getElectricLoadCenterDistributions.find { |elcd| elcd.additionalProperties.getFeatureAsString('HPXML_ID').to_s == battery.id } + next if elcd.nil? - batt_soc_kwh = batt_soc.map { |soc| soc - min_soc }.map { |soc| soc * batt_kwh } + elcs = @model.getElectricLoadCenterStorageLiIonNMCBatterys.find { |elcs| elcs.additionalProperties.getFeatureAsString('HPXML_ID').to_s == battery.id } - crit_load = get_report_meter_data_timeseries([Outputs::MeterCustomElectricityCritical.upcase], UnitConversions.convert(1.0, 'J', 'kWh'), 0, resilience_frequency) + vars = ['Electric Storage Charge Fraction'] + batt_soc = get_report_variable_data_timeseries([elcs.name.to_s.upcase], vars, 1, 0, resilience_frequency) - resilience_timeseries = [] - n_timesteps = crit_load.size - (0...n_timesteps).each do |init_time_step| - resilience_timeseries << get_resilience_timestep_value(init_time_step, batt_kwh, batt_kw, batt_soc_kwh[init_time_step], crit_load, batt_roundtrip_eff, n_timesteps, ts_per_hr) - end + min_soc = elcd.minimumStorageStateofChargeFraction + batt_kw = elcd.designStorageControlDischargePower.get / 1000.0 + batt_roundtrip_eff = elcs.dctoDCChargingEfficiency + batt_kwh = elcs.additionalProperties.getFeatureAsDouble('UsableCapacity_kWh').get - resilience.annual_output = resilience_timeseries.sum(0.0) / resilience_timeseries.size + batt_soc_kwh = batt_soc.map { |soc| soc - min_soc }.map { |soc| soc * batt_kwh } - next unless args[:include_timeseries_resilience] + if @hpxml_bldgs.size == 1 + crit_load = get_report_meter_data_timeseries([Outputs::MeterCustomElectricityCritical.upcase], UnitConversions.convert(1.0, 'J', 'kWh'), 0, resilience_frequency) + else + unit_num = @hpxml_bldgs.index(hpxml_bldg) + 1 + crit_load = get_report_meter_data_timeseries(["unit#{unit_num}_#{Outputs::MeterCustomElectricityCritical.gsub(':', '_')}".upcase], UnitConversions.convert(1.0, 'J', 'kWh'), 0, resilience_frequency) + end + + resilience_timeseries = [] + n_timesteps = crit_load.size + (0...n_timesteps).each do |init_time_step| + resilience_timeseries << get_resilience_timestep_value(init_time_step, batt_kwh, batt_kw, batt_soc_kwh[init_time_step], crit_load, batt_roundtrip_eff, n_timesteps, ts_per_hr) + end + + annual_outputs << resilience_timeseries.sum(0.0) / resilience_timeseries.size + + next unless args[:include_timeseries_resilience] + + if ![EPlus::TimeseriesFrequencyDaily, EPlus::TimeseriesFrequencyMonthly].include?(args[:timeseries_frequency]) + timeseries_outputs << resilience_timeseries + else + timeseries_outputs << rollup_timeseries_output_to_daily_or_monthly(resilience_timeseries, args[:timeseries_frequency], true) + end + end - resilience.timeseries_output = resilience_timeseries - if [EPlus::TimeseriesFrequencyDaily, EPlus::TimeseriesFrequencyMonthly].include? args[:timeseries_frequency] - resilience.timeseries_output = rollup_timeseries_output_to_daily_or_monthly(resilience.timeseries_output, args[:timeseries_frequency], true) + resilience.annual_output = annual_outputs.max + if not timeseries_outputs.empty? + resilience.timeseries_output = timeseries_outputs[0].zip(*timeseries_outputs[1..-1]).map { |e| e.max } end end diff --git a/ReportSimulationOutput/measure.xml b/ReportSimulationOutput/measure.xml index 2c69c82fe2..0cfd01398f 100644 --- a/ReportSimulationOutput/measure.xml +++ b/ReportSimulationOutput/measure.xml @@ -3,8 +3,8 @@ 3.1 report_simulation_output df9d170c-c21a-4130-866d-0d46b06073fd - 7389abec-ba4c-4dd0-8d8a-ccfe1f9da0d9 - 2026-01-13T20:00:39Z + ca8fcfde-4aac-444c-9266-50e80f6028c5 + 2026-01-13T23:11:21Z 9BF1E6AC ReportSimulationOutput HPXML Simulation Output Report @@ -2029,7 +2029,7 @@ measure.rb rb script - 5E2D0E6C + 066D9889 test_report_sim_output.rb diff --git a/docs/source/workflow_inputs.rst b/docs/source/workflow_inputs.rst index fc633b16e2..df24d23bbf 100644 --- a/docs/source/workflow_inputs.rst +++ b/docs/source/workflow_inputs.rst @@ -402,7 +402,6 @@ For these simulations: Notes/caveats about this approach: - Some inputs (e.g., EPW location or ground conductivity) cannot vary across ``Building`` elements. -- :ref:`hpxml_batteries` is not currently supported. - :ref:`hpxml_utility_bill_scenarios` using *detailed* :ref:`electricity_rates` are not supported. .. _building_site: diff --git a/tasks.rb b/tasks.rb index 9c3fe87e4c..1844cf0fe4 100644 --- a/tasks.rb +++ b/tasks.rb @@ -2883,6 +2883,16 @@ def apply_hpxml_modification_sample_files(hpxml_path, hpxml) 'base-residents-5-5.xml'].include? hpxml_file hpxml_bldg.batteries[0].nominal_capacity_kwh = nil end + if ['base-bldgtype-mf-whole-building-pv-battery.xml'].include? hpxml_file + if hpxml_bldg_index > 0 # intentionally not all buildings have a battery + hpxml_bldg.pv_systems.add(id: "PVSystem#{hpxml_bldg.pv_systems.size + 1}_#{hpxml_bldg_index + 1}", + array_azimuth: 270, + array_tilt: 10, + max_power_output: 10000) + hpxml_bldg.batteries.add(id: "Battery#{hpxml_bldg.batteries.size + 1}_#{hpxml_bldg_index + 1}", + type: HPXML::BatteryTypeLithiumIon) + end + end # ------------- # # HPXML Vehicle # diff --git a/workflow/hpxml_inputs.json b/workflow/hpxml_inputs.json index 704f967aa6..3c3926e258 100644 --- a/workflow/hpxml_inputs.json +++ b/workflow/hpxml_inputs.json @@ -2441,6 +2441,9 @@ "sample_files/base-bldgtype-mf-whole-building-vehicle-ev-charger.xml": { "parent_hpxml": "sample_files/base-bldgtype-mf-whole-building.xml" }, + "sample_files/base-bldgtype-mf-whole-building-pv-battery.xml": { + "parent_hpxml": "sample_files/base-bldgtype-mf-whole-building.xml" + }, "sample_files/base-pv.xml": { "parent_hpxml": "sample_files/base.xml", "pv_system": "4.0 kW", diff --git a/workflow/sample_files/base-bldgtype-mf-whole-building-pv-battery.xml b/workflow/sample_files/base-bldgtype-mf-whole-building-pv-battery.xml new file mode 100644 index 0000000000..98a4a682d7 --- /dev/null +++ b/workflow/sample_files/base-bldgtype-mf-whole-building-pv-battery.xml @@ -0,0 +1,2491 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + true + + + Default + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + attached on one side + unit above + 180 + + electricity + natural gas + + + + apartment unit + 0.0 + 1.0 + 1.0 + 8.0 + 3 + 2 + 1200.0 + 9600.0 + + + ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit.csv + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + unit exterior only + + ACHnatural + 0.375 + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + outside + basement - unconditioned + 77.1 + wood siding + medium + + + 13.9 + + + + + basement - unconditioned + basement - unconditioned + 30.8 + + + 4.0 + + + + + + + outside + conditioned space + + + + 800.0 + wood siding + medium + + + 22.7 + + + + + other housing unit + conditioned space + + + + 320.0 + + + 4.0 + + + + + + + ground + basement - unconditioned + solid concrete + 8.0 + 800.0 + 7.0 + + + + continuous - exterior + 10.0 + + + continuous - interior + 0.0 + + + + + + basement - unconditioned + basement - unconditioned + solid concrete + 8.0 + 320.0 + 7.0 + + + + continuous - exterior + 0.0 + + + continuous - interior + 0.0 + + + + + + + + basement - unconditioned + conditioned space + floor + + + + 1200.0 + + + 22.6 + + + + + other housing unit + conditioned space + ceiling + + + + 1200.0 + + + 2.1 + + + + + + + basement - unconditioned + 1200.0 + 100.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + + + + + 43.2 + 0 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 43.2 + 180 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 57.6 + 270 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + + + + 20.0 + 180 + 4.4 + + + + + + + + + + + + + + + + electricity + 10000.0 + + Percent + 1.0 + + 1.0 + + + + room air conditioner + electricity + 12000.0 + 1.0 + + CEER + 8.4 + + + + + + 68.0 + 78.0 + + + + + + electricity + storage water heater + conditioned space + 1.0 + 0.94 + + + + + + + + 0.0 + + + + + shower head + false + + + + faucet + false + + + + + + + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + 650.0 + + + + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + + + other + + + +
+ + + + +
+ CO +
+
+ + proposed workscope + + + + + attached on one side + unit above + 180 + + electricity + natural gas + + + + apartment unit + 0.0 + 1.0 + 1.0 + 8.0 + 3 + 2 + 1200.0 + 9600.0 + + + ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_2.csv + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + unit exterior only + + ACHnatural + 0.375 + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + outside + basement - unconditioned + 77.1 + wood siding + medium + + + 13.9 + + + + + basement - unconditioned + basement - unconditioned + 30.8 + + + 4.0 + + + + + + + outside + conditioned space + + + + 800.0 + wood siding + medium + + + 22.7 + + + + + other housing unit + conditioned space + + + + 320.0 + + + 4.0 + + + + + + + ground + basement - unconditioned + solid concrete + 8.0 + 800.0 + 7.0 + + + + continuous - exterior + 10.0 + + + continuous - interior + 0.0 + + + + + + basement - unconditioned + basement - unconditioned + solid concrete + 8.0 + 320.0 + 7.0 + + + + continuous - exterior + 0.0 + + + continuous - interior + 0.0 + + + + + + + + basement - unconditioned + conditioned space + floor + + + + 1200.0 + + + 22.6 + + + + + other housing unit + conditioned space + ceiling + + + + 1200.0 + + + 2.1 + + + + + + + basement - unconditioned + 1200.0 + 100.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + + + + + 43.2 + 0 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 43.2 + 180 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 57.6 + 270 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + + + + 20.0 + 180 + 4.4 + + + + + + + + + + + + + + + + electricity + 10000.0 + + Percent + 1.0 + + 1.0 + + + + room air conditioner + electricity + 12000.0 + 1.0 + + CEER + 8.4 + + + + + + 68.0 + 78.0 + + + + + + electricity + storage water heater + conditioned space + 1.0 + 0.94 + + + + + + + + 0.0 + + + + + shower head + false + + + + faucet + false + + + + + + 270 + 10.0 + 10000.0 + + + + + + Li-ion + + + + + + + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + 650.0 + + + + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + + + other + + + +
+ + + + +
+ CO +
+
+ + proposed workscope + + + + + attached on one side + unit above and below + 180 + + electricity + natural gas + + + + apartment unit + 10.0 + 1.0 + 1.0 + 8.0 + 3 + 2 + 1200.0 + 9600.0 + + + ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_3.csv + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + unit exterior only + + ACHnatural + 0.375 + + + + + + + + + + + + + + + + + + + + + + + outside + conditioned space + + + + 800.0 + wood siding + medium + + + 22.7 + + + + + other housing unit + conditioned space + + + + 320.0 + + + 4.0 + + + + + + + other housing unit + conditioned space + floor + + + + 1200.0 + + + 5.3 + + + + + other housing unit + conditioned space + ceiling + + + + 1200.0 + + + 2.1 + + + + + + + 43.2 + 0 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 43.2 + 180 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 57.6 + 270 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + + + + 20.0 + 180 + 4.4 + + + + + + + + + + + + + + + + electricity + 10000.0 + + Percent + 1.0 + + 1.0 + + + + room air conditioner + electricity + 12000.0 + 1.0 + + CEER + 8.4 + + + + + + 68.0 + 78.0 + + + + + + electricity + storage water heater + conditioned space + 1.0 + 0.94 + + + + + + + + 0.0 + + + + + shower head + false + + + + faucet + false + + + + + + 270 + 10.0 + 10000.0 + + + + + + Li-ion + + + + + + + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + 650.0 + + + + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + + + other + + + +
+ + + + +
+ CO +
+
+ + proposed workscope + + + + + attached on one side + unit above and below + 180 + + electricity + natural gas + + + + apartment unit + 10.0 + 1.0 + 1.0 + 8.0 + 3 + 2 + 1200.0 + 9600.0 + + + ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_4.csv + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + unit exterior only + + ACHnatural + 0.375 + + + + + + + + + + + + + + + + + + + + + + + outside + conditioned space + + + + 800.0 + wood siding + medium + + + 22.7 + + + + + other housing unit + conditioned space + + + + 320.0 + + + 4.0 + + + + + + + other housing unit + conditioned space + floor + + + + 1200.0 + + + 5.3 + + + + + other housing unit + conditioned space + ceiling + + + + 1200.0 + + + 2.1 + + + + + + + 43.2 + 0 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 43.2 + 180 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 57.6 + 270 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + + + + 20.0 + 180 + 4.4 + + + + + + + + + + + + + + + + electricity + 10000.0 + + Percent + 1.0 + + 1.0 + + + + room air conditioner + electricity + 12000.0 + 1.0 + + CEER + 8.4 + + + + + + 68.0 + 78.0 + + + + + + electricity + storage water heater + conditioned space + 1.0 + 0.94 + + + + + + + + 0.0 + + + + + shower head + false + + + + faucet + false + + + + + + 270 + 10.0 + 10000.0 + + + + + + Li-ion + + + + + + + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + 650.0 + + + + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + + + other + + + +
+ + + + +
+ CO +
+
+ + proposed workscope + + + + + attached on one side + unit below + 180 + + electricity + natural gas + + + + apartment unit + 20.0 + 1.0 + 1.0 + 8.0 + 3 + 2 + 1200.0 + 9600.0 + + + ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_5.csv + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + unit exterior only + + ACHnatural + 0.375 + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + attic - vented + 1341.6 + asphalt or fiberglass shingles + light + 6.0 + + + 2.3 + + + + + + + outside + conditioned space + + + + 800.0 + wood siding + medium + + + 22.7 + + + + + other housing unit + conditioned space + + + + 320.0 + + + 4.0 + + + + + outside + attic - vented + gable + + + + 200.0 + wood siding + medium + + + 4.0 + + + + + attic - vented + attic - vented + + + + 200.0 + + + 4.0 + + + + + + + other housing unit + conditioned space + floor + + + + 1200.0 + + + 5.3 + + + + + attic - vented + conditioned space + ceiling + + + + 1200.0 + + + 39.6 + + + + + + + 43.2 + 0 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 43.2 + 180 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 57.6 + 270 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + + + + 20.0 + 180 + 4.4 + + + + + + + + + + + + + + + + electricity + 10000.0 + + Percent + 1.0 + + 1.0 + + + + room air conditioner + electricity + 12000.0 + 1.0 + + CEER + 8.4 + + + + + + 68.0 + 78.0 + + + + + + electricity + storage water heater + conditioned space + 1.0 + 0.94 + + + + + + + + 0.0 + + + + + shower head + false + + + + faucet + false + + + + + + 270 + 10.0 + 10000.0 + + + + + + Li-ion + + + + + + + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + 650.0 + + + + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + + + other + + + +
+ + + + +
+ CO +
+
+ + proposed workscope + + + + + attached on one side + unit below + 180 + + electricity + natural gas + + + + apartment unit + 20.0 + 1.0 + 1.0 + 8.0 + 3 + 2 + 1200.0 + 9600.0 + + + ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic-mf-unit_6.csv + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + unit exterior only + + ACHnatural + 0.375 + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + attic - vented + 1341.6 + asphalt or fiberglass shingles + light + 6.0 + + + 2.3 + + + + + + + outside + conditioned space + + + + 800.0 + wood siding + medium + + + 22.7 + + + + + other housing unit + conditioned space + + + + 320.0 + + + 4.0 + + + + + outside + attic - vented + gable + + + + 200.0 + wood siding + medium + + + 4.0 + + + + + attic - vented + attic - vented + + + + 200.0 + + + 4.0 + + + + + + + other housing unit + conditioned space + floor + + + + 1200.0 + + + 5.3 + + + + + attic - vented + conditioned space + ceiling + + + + 1200.0 + + + 39.6 + + + + + + + 43.2 + 0 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 43.2 + 180 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + 57.6 + 270 + 0.35 + 0.44 + + + light curtains + + 0.67 + + + + + + + + 20.0 + 180 + 4.4 + + + + + + + + + + + + + + + + electricity + 10000.0 + + Percent + 1.0 + + 1.0 + + + + room air conditioner + electricity + 12000.0 + 1.0 + + CEER + 8.4 + + + + + + 68.0 + 78.0 + + + + + + electricity + storage water heater + conditioned space + 1.0 + 0.94 + + + + + + + + 0.0 + + + + + shower head + false + + + + faucet + false + + + + + + 270 + 10.0 + 10000.0 + + + + + + Li-ion + + + + + + + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + 650.0 + + + + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + + + other + + + +
+
\ No newline at end of file diff --git a/workflow/tests/base_results/results_simulations_bills.csv b/workflow/tests/base_results/results_simulations_bills.csv index 3aefa308b4..057ef20740 100644 --- a/workflow/tests/base_results/results_simulations_bills.csv +++ b/workflow/tests/base_results/results_simulations_bills.csv @@ -68,6 +68,7 @@ base-bldgtype-mf-unit.xml,1286.63,144.0,990.14,0.0,1134.14,144.0,8.49,152.49,0.0 base-bldgtype-mf-whole-building-common-spaces.xml,8235.59,1152.0,7083.59,0.0,8235.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, base-bldgtype-mf-whole-building-detailed-electric-panel.xml,8529.43,864.0,7665.43,0.0,8529.43,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-inter-unit-heat-transfer.xml,7549.75,864.0,6685.75,0.0,7549.75,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-pv-battery.xml,847.76,864.0,7806.9,-7823.14,847.76,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-vehicle-ev-charger.xml,9934.37,864.0,9070.37,0.0,9934.37,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building.xml,8529.43,864.0,7665.43,0.0,8529.43,0.0,0.0,0.0,0.0,0.0,0.0,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-sfa-unit-2stories.xml,1869.14,144.0,1368.09,0.0,1512.09,144.0,213.05,357.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,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, @@ -435,7 +436,7 @@ base-pv-battery-round-trip-efficiency.xml,1131.69,144.0,1514.83,-987.32,671.51,1 base-pv-battery-scheduled.xml,1120.71,144.0,1503.84,-987.32,660.53,144.0,316.18,460.18,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,1085.17,144.0,1468.31,-987.32,624.99,144.0,316.18,460.18,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,1121.98,144.0,1203.12,-987.32,359.81,144.0,398.53,542.53,0.0,219.64,219.64,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,1088.7,144.0,1169.85,-987.32,326.53,144.0,398.53,542.53,0.0,219.64,219.64,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,1086.44,144.0,1167.59,-987.32,324.27,144.0,398.53,542.53,0.0,219.64,219.64,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,1058.28,144.0,1139.43,-987.32,296.11,144.0,398.53,542.53,0.0,219.64,219.64,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-inverters.xml,1062.66,144.0,1440.15,-981.67,602.48,144.0,316.18,460.18,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,1057.01,144.0,1440.15,-987.32,596.83,144.0,316.18,460.18,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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/workflow/tests/base_results/results_simulations_energy.csv b/workflow/tests/base_results/results_simulations_energy.csv index 9cdab30437..98dac1aa18 100644 --- a/workflow/tests/base_results/results_simulations_energy.csv +++ b/workflow/tests/base_results/results_simulations_energy.csv @@ -68,6 +68,7 @@ base-bldgtype-mf-unit.xml,27.839,27.839,26.963,26.963,0.876,0.0,0.0,0.0,0.0,0.0, base-bldgtype-mf-whole-building-common-spaces.xml,192.899,192.899,192.899,192.899,0.0,0.0,0.0,0.0,0.0,0.0,31.799,0.0,0.0,0.0,11.853,0.0,67.393,0.0,0.0,19.519,0.0,1.819,0.0,0.0,0.0,0.0,12.41,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-detailed-electric-panel.xml,208.743,208.743,208.743,208.743,0.0,0.0,0.0,0.0,0.0,0.0,42.292,0.0,0.0,0.0,22.415,0.0,67.306,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.619,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-inter-unit-heat-transfer.xml,182.065,182.065,182.065,182.065,0.0,0.0,0.0,0.0,0.0,0.0,25.135,0.0,0.0,0.0,12.923,0.0,67.329,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.566,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-pv-battery.xml,212.596,-1.847,212.596,-1.847,0.0,0.0,0.0,0.0,0.0,0.0,42.292,0.0,0.0,0.0,22.415,0.0,67.306,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.619,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,-214.443,0.0,3.853,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-vehicle-ev-charger.xml,247.002,247.002,247.002,247.002,0.0,0.0,0.0,0.0,0.0,0.0,42.292,0.0,0.0,0.0,22.415,0.0,67.306,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.619,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,38.259,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building.xml,208.743,208.743,208.743,208.743,0.0,0.0,0.0,0.0,0.0,0.0,42.292,0.0,0.0,0.0,22.415,0.0,67.306,0.0,0.0,14.641,0.0,1.364,0.0,0.0,0.0,0.0,12.619,0.0,0.0,1.745,2.141,0.0,9.172,0.0,12.693,22.356,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-sfa-unit-2stories.xml,59.247,59.247,37.255,37.255,21.991,0.0,0.0,0.0,0.0,0.0,0.0,0.675,0.0,0.0,3.958,0.841,10.769,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.076,0.0,0.0,0.284,0.347,1.436,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,21.991,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -435,7 +436,7 @@ base-pv-battery-round-trip-efficiency.xml,73.888,47.001,41.252,14.365,32.636,0.0 base-pv-battery-scheduled.xml,73.588,46.702,40.952,14.066,32.636,0.0,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,1.735,0.0,32.636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,72.621,45.734,39.985,13.098,32.636,0.0,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.767,0.0,32.636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,82.399,55.513,32.763,5.877,41.136,8.5,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.886,-8.189,1.735,0.0,32.636,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 -base-pv-generators-battery.xml,81.493,54.607,31.857,4.971,41.136,8.5,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.886,-8.189,0.828,0.0,32.636,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 +base-pv-generators-battery.xml,81.432,54.545,31.795,4.909,41.136,8.5,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.886,-8.189,0.767,0.0,32.636,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 base-pv-generators.xml,80.665,53.778,31.029,4.142,41.136,8.5,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.886,-8.189,0.0,0.0,32.636,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 base-pv-inverters.xml,71.854,45.121,39.218,12.485,32.636,0.0,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.732,0.0,0.0,0.0,32.636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,71.854,44.967,39.218,12.331,32.636,0.0,0.0,0.0,0.0,0.0,0.0,1.016,0.0,0.0,5.216,1.204,10.77,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.075,0.0,0.0,0.284,0.347,1.436,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,-26.886,0.0,0.0,0.0,32.636,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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/workflow/tests/base_results/results_simulations_hvac.csv b/workflow/tests/base_results/results_simulations_hvac.csv index d19dd1df21..fd9d67148b 100644 --- a/workflow/tests/base_results/results_simulations_hvac.csv +++ b/workflow/tests/base_results/results_simulations_hvac.csv @@ -68,6 +68,7 @@ base-bldgtype-mf-unit.xml,6.8,91.76,10000.0,12000.0,0.0,5884.0,0.0,2732.0,0.0,28 base-bldgtype-mf-whole-building-common-spaces.xml,6.8,91.76,75000.0,36000.0,0.0,184939.0,0.0,12740.0,0.0,1148.0,19546.0,73730.0,0.0,3495.0,0.0,74278.0,0.0,0.0,93826.0,0.0,12400.0,0.0,412.0,3532.0,38802.0,0.0,0.0,0.0,10032.0,0.0,25180.0,0.0,3464.0,-5456.0,0.0,-10656.0,0.0,5200.0 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,6.8,91.76,60000.0,72000.0,0.0,81800.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0 base-bldgtype-mf-whole-building-inter-unit-heat-transfer.xml,6.8,91.76,75000.0,36000.0,0.0,81800.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0 +base-bldgtype-mf-whole-building-pv-battery.xml,6.8,91.76,60000.0,72000.0,0.0,81800.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0 base-bldgtype-mf-whole-building-vehicle-ev-charger.xml,6.8,91.76,60000.0,72000.0,0.0,81800.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0 base-bldgtype-mf-whole-building.xml,6.8,91.76,60000.0,72000.0,0.0,81800.0,0.0,19110.0,0.0,1722.0,10626.0,0.0,2232.0,0.0,3830.0,44282.0,0.0,0.0,54508.0,0.0,18600.0,0.0,618.0,1356.0,0.0,592.0,0.0,2228.0,5992.0,0.0,19920.0,0.0,5196.0,-1564.0,0.0,-6364.0,0.0,4800.0 base-bldgtype-sfa-unit-2stories.xml,6.8,91.76,50000.0,36000.0,0.0,37662.0,18108.0,5459.0,0.0,575.0,5653.0,0.0,0.0,1286.0,1436.0,5144.0,0.0,0.0,27802.0,14340.0,5459.0,0.0,207.0,513.0,0.0,0.0,0.0,1517.0,699.0,0.0,3320.0,0.0,1747.0,118.0,61.0,-743.0,0.0,800.0 diff --git a/workflow/tests/base_results/results_simulations_loads.csv b/workflow/tests/base_results/results_simulations_loads.csv index 2d9c81fe97..74bce9a293 100644 --- a/workflow/tests/base_results/results_simulations_loads.csv +++ b/workflow/tests/base_results/results_simulations_loads.csv @@ -68,6 +68,7 @@ base-bldgtype-mf-unit.xml,0.827,0.0,8.948,10.368,0.802,0.0,0.0,0.0,-0.003,1.696, base-bldgtype-mf-whole-building-common-spaces.xml,31.768,0.0,25.32,62.257,5.111,0.0,0.0,0.0,3.936,8.554,0.758,5.147,0.739,9.585,-9.465,0.0,0.0,7.495,4.759,-0.461,25.602,0.0,0.0,0.0,0.0,-20.707,-4.101,0.0,4.837,2.161,-0.018,1.542,-0.016,-0.706,10.495,0.0,0.0,-1.436,-4.856,-0.458,-5.024,-3.027,0.0,0.0,0.0,18.584,3.22 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,42.236,0.0,46.521,62.257,5.023,0.0,0.0,0.0,7.463,18.694,0.0,0.0,2.33,28.754,-25.563,0.0,0.0,6.813,0.0,-2.272,50.719,0.0,0.0,0.0,0.0,-37.239,-7.151,0.0,-0.616,-3.646,0.0,0.0,-0.142,-3.534,34.272,0.0,0.0,-4.598,0.0,-2.249,-13.154,-8.741,0.0,0.0,0.0,41.457,7.49 base-bldgtype-mf-whole-building-inter-unit-heat-transfer.xml,25.104,0.0,27.683,62.257,5.046,0.0,0.0,0.0,3.473,14.756,0.0,0.0,1.141,14.465,-13.566,0.0,0.0,3.471,0.0,-0.868,25.685,0.0,0.0,0.0,0.0,-19.544,-3.769,0.0,-0.202,3.602,0.0,0.0,-0.079,-1.648,16.401,0.0,0.0,-2.643,0.0,-0.86,-6.016,-4.677,0.0,0.0,0.0,20.234,3.551 +base-bldgtype-mf-whole-building-pv-battery.xml,42.236,0.0,46.521,62.257,5.023,0.0,0.0,0.0,7.463,18.694,0.0,0.0,2.33,28.754,-25.563,0.0,0.0,6.813,0.0,-2.272,50.719,0.0,0.0,0.0,0.0,-37.239,-7.151,0.0,-0.616,-3.646,0.0,0.0,-0.142,-3.534,34.272,0.0,0.0,-4.598,0.0,-2.249,-13.154,-8.741,0.0,0.0,0.0,41.457,7.49 base-bldgtype-mf-whole-building-vehicle-ev-charger.xml,42.236,0.0,46.521,62.257,5.023,0.0,0.0,0.0,7.463,18.694,0.0,0.0,2.33,28.754,-25.563,0.0,0.0,6.813,0.0,-2.272,50.719,0.0,0.0,0.0,0.0,-37.239,-7.151,0.0,-0.616,-3.646,0.0,0.0,-0.142,-3.534,34.272,0.0,0.0,-4.598,0.0,-2.249,-13.154,-8.741,0.0,0.0,0.0,41.457,7.49 base-bldgtype-mf-whole-building.xml,42.236,0.0,46.521,62.257,5.023,0.0,0.0,0.0,7.463,18.694,0.0,0.0,2.33,28.754,-25.563,0.0,0.0,6.813,0.0,-2.272,50.719,0.0,0.0,0.0,0.0,-37.239,-7.151,0.0,-0.616,-3.646,0.0,0.0,-0.142,-3.534,34.272,0.0,0.0,-4.598,0.0,-2.249,-13.154,-8.741,0.0,0.0,0.0,41.457,7.49 base-bldgtype-sfa-unit-2stories.xml,20.903,0.0,14.157,9.917,0.848,0.0,0.0,0.0,2.308,5.419,0.513,4.104,0.685,8.169,-8.741,0.0,0.0,0.0,4.94,-0.138,7.459,0.0,0.512,0.0,6.832,-8.524,-2.651,0.0,0.04,-0.343,-0.006,1.453,0.023,-0.325,8.481,0.0,0.0,0.0,-4.143,-0.134,-1.268,-3.092,-0.081,0.0,4.379,7.269,1.856 diff --git a/workflow/tests/base_results/results_simulations_misc.csv b/workflow/tests/base_results/results_simulations_misc.csv index 0849391fea..e331f96b78 100644 --- a/workflow/tests/base_results/results_simulations_misc.csv +++ b/workflow/tests/base_results/results_simulations_misc.csv @@ -68,6 +68,7 @@ base-bldgtype-mf-unit.xml,0.0,0.0,0.0,1323.0,910.7,12046.2,4107.6,1703.8,2103.2, base-bldgtype-mf-whole-building-common-spaces.xml,0.0,1.0,0.0,7938.3,5463.9,72300.8,24653.6,18244.6,14064.1,18244.6,18244.6,14064.1,18244.6,34.08,24.044,0.0 base-bldgtype-mf-whole-building-detailed-electric-panel.xml,0.0,3.0,0.0,7938.3,5463.9,72300.5,24653.5,22676.9,17047.4,22676.9,22676.9,17047.4,22676.9,56.418,56.02,0.0 base-bldgtype-mf-whole-building-inter-unit-heat-transfer.xml,0.0,13.0,0.0,7938.3,5463.9,72301.4,24653.8,17409.8,13347.5,17409.8,17409.8,13347.5,17409.8,32.785,29.246,0.0 +base-bldgtype-mf-whole-building-pv-battery.xml,0.0,3.0,0.0,7938.3,5463.9,72300.5,24653.5,31864.5,29659.2,31864.5,22676.9,5894.6,22676.9,56.418,56.02,14.999 base-bldgtype-mf-whole-building-vehicle-ev-charger.xml,0.0,3.0,0.0,7938.3,5463.9,72300.5,24653.5,47794.7,44767.0,47794.7,47794.7,44767.0,47794.7,56.418,56.02,0.0 base-bldgtype-mf-whole-building.xml,0.0,3.0,0.0,7938.3,5463.9,72300.5,24653.5,22676.9,17047.4,22676.9,22676.9,17047.4,22676.9,56.418,56.02,0.0 base-bldgtype-sfa-unit-2stories.xml,0.0,0.0,0.0,1286.4,890.5,11468.5,3942.3,2282.4,4156.5,4156.5,2282.4,4156.5,4156.5,23.91,23.996,0.0 @@ -435,7 +436,7 @@ base-pv-battery-round-trip-efficiency.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942 base-pv-battery-scheduled.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,8119.5,8427.4,8427.4,7933.3,7700.7,7933.3,33.305,23.005,6.505 base-pv-battery.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,3996.5,4181.8,4674.8,2338.2,3731.3,3731.3,33.305,23.005,9.862 base-pv-generators-battery-scheduled.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,7845.5,8153.5,8153.5,7659.3,7426.7,7659.3,33.305,23.005,16.182 -base-pv-generators-battery.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,3996.5,4181.8,4500.2,2003.8,3394.3,3394.3,33.305,23.005,54.516 +base-pv-generators-battery.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,3722.5,3907.9,4400.8,2064.2,3457.3,3457.3,33.305,23.005,39.147 base-pv-generators.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,2040.9,3502.5,3502.5,2040.9,3337.3,3337.3,33.305,23.005,0.0 base-pv-inverters.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,2314.8,3776.5,3776.5,2314.8,3612.1,3612.1,33.305,23.005,0.0 base-pv.xml,0.0,87.0,0.0,1286.4,890.5,11468.5,3942.3,2314.8,3776.5,3776.5,2314.8,3611.3,3611.3,33.305,23.005,0.0 diff --git a/workflow/tests/base_results/results_simulations_panel.csv b/workflow/tests/base_results/results_simulations_panel.csv index fbbfa3f90e..50d10d8c3e 100644 --- a/workflow/tests/base_results/results_simulations_panel.csv +++ b/workflow/tests/base_results/results_simulations_panel.csv @@ -68,6 +68,7 @@ base-bldgtype-mf-unit.xml,0.0,0.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-mf-whole-building-common-spaces.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-detailed-electric-panel.xml,17584.2,6614.4,33000.6,0.0,7200.0,72000.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,48600.0,1200.0,100153.8,417.6,782.4,33750.0,140.4,1059.6,12.0,0.0,12.0,0.0,6.0,12.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.0,96.0,78.0,18.0 base-bldgtype-mf-whole-building-inter-unit-heat-transfer.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-pv-battery.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building-vehicle-ev-charger.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-mf-whole-building.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-sfa-unit-2stories.xml,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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/workflow/tests/util.rb b/workflow/tests/util.rb index 0ec8605e7d..9e0284f6df 100644 --- a/workflow/tests/util.rb +++ b/workflow/tests/util.rb @@ -49,12 +49,9 @@ def _run_xml(xml, worker_num, apply_unit_multiplier = false, annual_results_1x = elsif hpxml_bldg.heat_pumps.count { |hp| hp.heat_pump_type == HPXML::HVACTypeHeatPumpGroundToAir } > 0 # FUTURE: GSHPs currently don't give desired results w/ unit multipliers # https://github.com/NREL/OpenStudio-HPXML/issues/1499 - elsif hpxml_bldg.batteries.size > 0 + # elsif hpxml_bldg.batteries.size > 0 # FUTURE: Batteries currently don't work with whole SFA/MF buildings # https://github.com/NREL/OpenStudio-HPXML/issues/1499 - # but we still want to test unit multipliers - whole_sfa_or_mf_building_sim = false - hpxml_bldg.building_construction.number_of_units *= 10 elsif hpxml.header.hvac_onoff_thermostat_deadband # On off thermostat not supported with unit multiplier yet elsif hpxml.header.heat_pump_backup_heating_capacity_increment