-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Peak electricity outputs #1930
Peak electricity outputs #1930
Conversation
# Create custom meters: | ||
# - Total Electricity (Electricity:Facility plus EV charging, batteries, generators) | ||
# - Net Electricity (above plus PV) | ||
# - PV Electricity |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sets up custom meters that will be used downstream by both the ReportSimulationOutput (for total/net outputs) and ReportUtilityBills measures.
# Total/Net Electricity (Net includes, e.g., PV and generators) | ||
outputs[:elec_prod_annual] = @end_uses.select { |k, eu| k[0] == FT::Elec && eu.is_negative }.map { |_k, eu| eu.annual_output.to_f }.sum(0.0) # Negative value | ||
outputs[:elec_net_annual] = @fuels[FT::Elec].annual_output.to_f + outputs[:elec_prod_annual] | ||
if args[:include_timeseries_fuel_consumptions] | ||
prod_end_uses = @end_uses.select { |k, eu| k[0] == FT::Elec && eu.is_negative && eu.timeseries_output.size > 0 }.map { |_k, v| v.timeseries_output } | ||
outputs[:elec_prod_timeseries] = prod_end_uses.transpose.map(&:sum) | ||
outputs[:elec_prod_timeseries] = [0.0] * @timestamps.size if outputs[:elec_prod_timeseries].empty? | ||
outputs[:elec_net_timeseries] = @fuels[FT::Elec].timeseries_output.zip(outputs[:elec_prod_timeseries]).map { |x, y| x + y } | ||
end | ||
|
||
# Total/Net Energy (Net includes, e.g., PV and generators) | ||
# Total/Net Energy | ||
@totals[TE::Total].annual_output = 0.0 | ||
@fuels.each do |_fuel_type, fuel| | ||
@totals[TE::Total].annual_output += fuel.annual_output | ||
@totals[TE::Net].annual_output = 0.0 | ||
@fuels.each do |(fuel_type, total_or_net), fuel| | ||
if fuel_type == FT::Elec | ||
te_types = [total_or_net] | ||
else | ||
te_types = [TE::Total, TE::Net] | ||
end | ||
|
||
te_types.each do |te_type| | ||
@totals[te_type].annual_output += fuel.annual_output | ||
end | ||
next unless args[:include_timeseries_total_consumptions] && fuel.timeseries_output.sum != 0.0 | ||
|
||
@totals[TE::Total].timeseries_output = [0.0] * @timestamps.size if @totals[TE::Total].timeseries_output.empty? | ||
unit_conv = UnitConversions.convert(1.0, fuel.timeseries_units, @totals[TE::Total].timeseries_units) | ||
@totals[TE::Total].timeseries_output = @totals[TE::Total].timeseries_output.zip(fuel.timeseries_output).map { |x, y| x + y * unit_conv } | ||
end | ||
@totals[TE::Net].annual_output = @totals[TE::Total].annual_output + outputs[:elec_prod_annual] | ||
if args[:include_timeseries_total_consumptions] | ||
unit_conv = UnitConversions.convert(1.0, get_timeseries_units_from_fuel_type(FT::Elec), @totals[TE::Total].timeseries_units) | ||
@totals[TE::Net].timeseries_output = @totals[TE::Total].timeseries_output.zip(outputs[:elec_prod_timeseries]).map { |x, y| x + y * unit_conv } | ||
te_types.each do |te_type| | ||
@totals[te_type].timeseries_output = [0.0] * @timestamps.size if @totals[te_type].timeseries_output.empty? | ||
unit_conv = UnitConversions.convert(1.0, fuel.timeseries_units, @totals[te_type].timeseries_units) | ||
@totals[te_type].timeseries_output = @totals[te_type].timeseries_output.zip(fuel.timeseries_output).map { |x, y| x + y * unit_conv } | ||
end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Simplified this stuff. Now we only calculate total/net energy uses here (from fuel uses); nothing more is needed.
ReportSimulationOutput/measure.rb
Outdated
@fuels[FT::Elec] = Fuel.new(meters: ['Electricity:FacilityEVCharging'.upcase]) # Total Electricity; PV is subtracted later for Net Electricity output | ||
@fuels[FT::Gas] = Fuel.new(meters: ["#{EPlus::FuelTypeNaturalGas}:Facility"]) | ||
@fuels[FT::Oil] = Fuel.new(meters: ["#{EPlus::FuelTypeOil}:Facility"]) | ||
@fuels[FT::Propane] = Fuel.new(meters: ["#{EPlus::FuelTypePropane}:Facility"]) | ||
@fuels[FT::WoodCord] = Fuel.new(meters: ["#{EPlus::FuelTypeWoodCord}:Facility"]) | ||
@fuels[FT::WoodPellets] = Fuel.new(meters: ["#{EPlus::FuelTypeWoodPellets}:Facility"]) | ||
@fuels[FT::Coal] = Fuel.new(meters: ["#{EPlus::FuelTypeCoal}:Facility"]) | ||
|
||
@fuels.each do |fuel_type, fuel| | ||
fuel.name = "Fuel Use: #{fuel_type}: Total" | ||
@fuels[[FT::Elec, TE::Total]] = Fuel.new(meter: 'Electricity:Total'.upcase) | ||
@fuels[[FT::Elec, TE::Net]] = Fuel.new(meter: 'Electricity:Net'.upcase) | ||
@fuels[[FT::Gas, TE::Total]] = Fuel.new(meter: "#{EPlus::FuelTypeNaturalGas}:Facility") | ||
@fuels[[FT::Oil, TE::Total]] = Fuel.new(meter: "#{EPlus::FuelTypeOil}:Facility") | ||
@fuels[[FT::Propane, TE::Total]] = Fuel.new(meter: "#{EPlus::FuelTypePropane}:Facility") | ||
@fuels[[FT::WoodCord, TE::Total]] = Fuel.new(meter: "#{EPlus::FuelTypeWoodCord}:Facility") | ||
@fuels[[FT::WoodPellets, TE::Total]] = Fuel.new(meter: "#{EPlus::FuelTypeWoodPellets}:Facility") | ||
@fuels[[FT::Coal, TE::Total]] = Fuel.new(meter: "#{EPlus::FuelTypeCoal}:Facility") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Explicitly sets up net/total versions for electricity with corresponding meters. No longer calculates the net version in the measure by combining outputs.
fuel.meters = [] | ||
fuel.meter = nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No longer needs to be an array. Everything uses a built-in meter or a custom meter.
ReportSimulationOutput/measure.rb
Outdated
@peak_fuels[[FT::Elec, TE::Total, PFT::Winter]] = PeakFuel.new(report: 'Peak Electricity Total', meter: 'Electricity:Total') | ||
@peak_fuels[[FT::Elec, TE::Total, PFT::Summer]] = PeakFuel.new(report: 'Peak Electricity Total', meter: 'Electricity:Total') | ||
@peak_fuels[[FT::Elec, TE::Total, PFT::Annual]] = PeakFuel.new(report: 'Peak Electricity Total', meter: 'Electricity:Total') | ||
@peak_fuels[[FT::Elec, TE::Net, PFT::Winter]] = PeakFuel.new(report: 'Peak Electricity Net', meter: 'Electricity:Net') | ||
@peak_fuels[[FT::Elec, TE::Net, PFT::Summer]] = PeakFuel.new(report: 'Peak Electricity Net', meter: 'Electricity:Net') | ||
@peak_fuels[[FT::Elec, TE::Net, PFT::Annual]] = PeakFuel.new(report: 'Peak Electricity Net', meter: 'Electricity:Net') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adds net versions of peak electricity outputs.
base-vehicle-ev-charger-undercharged.xml,1804.39,144.0,1241.69,0.0,1385.69,144.0,274.7,418.7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-vehicle-ev-charger.xml,2083.24,144.0,1520.54,0.0,1664.54,144.0,274.7,418.7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-vehicle-ev-charger-scheduled.xml,2069.26,144.0,1506.56,0.0,1650.56,144.0,274.7,418.7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-vehicle-ev-charger-undercharged.xml,1814.34,144.0,1251.64,0.0,1395.64,144.0,274.7,418.7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not entirely sure what was wrong before, but I verified this number is 100% correct. If you take this $ amount and divide it by the total building kWh, you get the exact $/kWh value as shown in in.xml
as the electric utility rate. Before it was slightly off.
base-battery-scheduled-power-outage.xml,57.721,57.721,33.884,33.884,23.837,0.0,0.0,0.0,0.0,0.0,0.0,0.591,0.0,0.0,3.406,0.484,8.4,0.0,0.0,4.2,0.0,0.311,0.0,0.0,0.0,0.0,1.882,0.0,0.0,0.292,0.335,1.386,1.401,0.0,1.94,7.686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.587,0.0,23.837,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,61.33,61.33,37.514,37.514,23.816,0.0,0.0,0.0,0.0,0.0,0.0,0.591,0.0,0.0,4.398,0.662,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,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,1.735,0.0,23.816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-power-outage.xml,57.741,57.741,33.903,33.903,23.837,0.0,0.0,0.0,0.0,0.0,0.0,0.591,0.0,0.0,3.406,0.484,8.4,0.0,0.0,4.2,0.0,0.311,0.0,0.0,0.0,0.0,1.882,0.0,0.0,0.292,0.335,1.386,1.401,0.0,1.94,7.686,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.587,0.0,23.837,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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,61.352,61.352,37.536,37.536,23.816,0.0,0.0,0.0,0.0,0.0,0.0,0.591,0.0,0.0,4.398,0.662,9.013,0.0,0.0,4.507,0.0,0.334,0.0,0.0,0.0,0.0,2.072,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,1.735,0.0,23.816,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Battery charging/discharging is being accounted for again. (Was removed in the EV PR.)
base-bldgtype-mf-unit-shared-generator.xml,41.001,34.177,25.935,19.111,0.899,0.0,14.167,0.0,0.0,0.0,0.0,0.01,0.0,0.0,2.931,0.415,9.526,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.186,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,-6.824,0.0,0.0,0.899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,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-unit-shared-generator.xml,34.177,34.177,19.111,19.111,0.899,0.0,14.167,0.0,0.0,0.0,0.0,0.01,0.0,0.0,2.931,0.415,9.526,0.0,0.0,2.025,0.0,0.206,0.0,0.0,0.0,0.0,2.186,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,2.795,0.0,0.0,0.0,0.0,0.0,0.0,-6.824,0.0,0.0,0.899,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.167,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generator electricity production now included in Energy/Fuel Totals.
HPXML,Unmet Hours: Heating (hr),Unmet Hours: Cooling (hr),Unmet Hours: EV Driving (hr),Hot Water: Clothes Washer (gal),Hot Water: Dishwasher (gal),Hot Water: Fixtures (gal),Hot Water: Distribution Waste (gal),Peak Electricity: Winter Total (W),Peak Electricity: Summer Total (W),Peak Electricity: Annual Total (W),Peak Electricity: Winter Net (W),Peak Electricity: Summer Net (W),Peak Electricity: Annual Net (W),Peak Load: Heating: Delivered (kBtu/hr),Peak Load: Cooling: Delivered (kBtu/hr),Resilience: Battery (hr) | ||
base-appliances-coal.xml,0.0,0.0,0.0,1354.7,998.0,11171.6,2563.5,1984.0,3545.9,3545.9,1984.0,3545.9,3545.9,23.636,19.047,0.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New net peak electricity outputs.
base-atticroof-unvented-insulated-roof.xml,0.0,0.0,0.0,1354.7,998.0,11171.6,2563.5,2069.5,3413.5,3413.5,2069.5,3413.5,3413.5,20.537,14.701,0.0 | ||
base-atticroof-vented.xml,0.0,0.0,0.0,1354.7,998.0,11171.5,2563.5,2083.8,3399.5,3399.5,2083.8,3399.5,3399.5,23.824,16.752,0.0 | ||
base-battery-scheduled-power-outage.xml,0.0,5.0,0.0,1241.4,914.9,10291.7,2361.6,7802.3,8148.5,8148.5,7802.3,8148.5,8148.5,23.712,21.153,1.337 | ||
base-battery-scheduled.xml,0.0,0.0,0.0,1354.7,998.0,11171.6,2563.5,7802.1,8197.2,8197.2,7802.1,8197.2,8197.2,23.71,18.744,1.438 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Battery charging/discharging is being accounted for again. (Was removed in the EV PR.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@joseph-robertson The reason the increase is ~4.5 kW instead of the battery's rated power of ~6 kW is because the scheduled charging is not coincident with the building peak. (In the chart below, orange is battery charging/discharging, blue is building consumption, and the results are stacked.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense. Only if the scheduled charging was coincident with building peak would the increases shown in results_simulation_misc.csv
be equal to the battery's rated power. (Does this mean rated power input/charge is assumed to be equal to rated power output/discharge? Looking at example IDF and this, it appears this is the case -- should the docs note anything about this?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't feel necessary to me to document that.
…-HPXML into peak_electricity
…o peak_electricity # Conflicts: # HPXMLtoOpenStudio/measure.xml # ReportSimulationOutput/measure.xml
…run successfully.
Pull Request Description
Closes #1917.
Checklist
Not all may apply:
EPvalidator.xml
) has been updatedopenstudio tasks.rb update_hpxmls
)HPXMLtoOpenStudio/tests/test*.rb
and/orworkflow/tests/test*.rb
)openstudio tasks.rb update_measures
has been run