Skip to content
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

Electric Vehicles #1299

Open
wants to merge 73 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
1f2b638
Merge commit 'f588c829bdc2e05290c60eaa73e6736c0e51812c' into electric…
aspeake Sep 6, 2024
f588c82
Squashed 'resources/hpxml-measures/' changes from c2cec15fe48..1e89f0…
aspeake Sep 6, 2024
1e70c8b
Stub out EV options in options_lookup.tsv
aspeake Sep 6, 2024
c8dc68c
Update tsvs from resstock-estimation and options_lookup
afontani Sep 11, 2024
f9c6012
Remove temporary files
afontani Sep 11, 2024
629b6e8
Delete old Electric Vehicle.tsv
afontani Sep 11, 2024
8f59840
Format options_lookup
afontani Sep 11, 2024
2e1dff8
Add Void option for Electric Vehicle Outlet Access
afontani Sep 11, 2024
c4750c9
Remove Not Applicable option from Electric Vehicle Charge At Home
afontani Sep 11, 2024
b17de1b
keep old ResStockArguments for now
afontani Sep 11, 2024
dddbc62
Map electric vehicle and charger OS-HPXML arguments to ResStock options
aspeake Sep 13, 2024
675c144
Squashed 'resources/hpxml-measures/' changes from 1e89f060006..d78b0a…
aspeake Sep 16, 2024
780591c
Merge commit '675c14491aeff2e4b328d0b561b484a3b57c6a47' into electric…
aspeake Sep 16, 2024
9bd7e89
Merge commit 'c677888bae28b98e14ab793a99dc17855512c3c4' into electric…
aspeake Sep 16, 2024
c677888
Squashed 'resources/hpxml-measures/' changes from d78b0aed6cc..5230cc…
aspeake Sep 16, 2024
dbfa2a7
prevent EVs modeled as plug loads
aspeake Sep 16, 2024
8c38fa5
correct some values for EV options
aspeake Sep 16, 2024
5b579dd
scale EV miles traveled by home charging fraction
aspeake Sep 16, 2024
f8a40e1
fix calculations for EV miles and hours driven
aspeake Sep 16, 2024
3053743
Merge commit '1100cf5b8b35fe475a20d829bb76bcaffc4a78b7' into electric…
rajeee Sep 19, 2024
1100cf5
Squashed 'resources/hpxml-measures/' changes from 5230cc0ad3..3c867be6e4
rajeee Sep 19, 2024
c55a696
yaml from develop
rajeee Sep 19, 2024
32bd4c1
Merge commit '954ebf5c8d55b472c9765e0b75199f2891d1dfbd' into electric…
rajeee Sep 21, 2024
954ebf5
Squashed 'resources/hpxml-measures/' changes from 3c867be6e4..b102371faf
rajeee Sep 21, 2024
bac97f2
Merge commit '9176566131b1ae66bcb55771fb6a8321bee94e5c' into electric…
rajeee Sep 21, 2024
9176566
Squashed 'resources/hpxml-measures/' changes from b102371faf..d15baa1866
rajeee Sep 21, 2024
f05db6d
Merge commit '7b1f6d34b346de20ff9e0538829c6ded1d659ba2' into electric…
rajeee Oct 2, 2024
7b1f6d3
Squashed 'resources/hpxml-measures/' changes from d15baa1866..86144f9da7
rajeee Oct 2, 2024
9b18591
Merge commit '324a8b3811cd755f96da1d1f1f4cff935ece3807' into electric…
rajeee Oct 30, 2024
324a8b3
Squashed 'resources/hpxml-measures/' changes from 86144f9da7..997fbeec56
rajeee Oct 30, 2024
5b1d46c
Merge commit '62cbcccad3241abcc803cdc7365f6bc1ba53eead' into electric…
rajeee Oct 30, 2024
62cbccc
Squashed 'resources/hpxml-measures/' changes from 997fbeec56..bb2036facf
rajeee Oct 30, 2024
8caeb73
Introduce bug fix for EV Ownership tsv
aspeake Nov 12, 2024
b1db7f2
Merge remote-tracking branch 'origin/develop' into electric_vehicles
aspeake Nov 13, 2024
1398e94
Merge commit '04ac63f287a5cfed387320d6b4926300769abc7b' into electric…
aspeake Nov 13, 2024
04ac63f
Squashed 'resources/hpxml-measures/' changes from bb2036facf8..302616…
aspeake Nov 13, 2024
6c2166e
Merge commit '829dc668a36bf510585116597690bfe7e533cd0b' into electric…
rajeee Nov 20, 2024
829dc66
Squashed 'resources/hpxml-measures/' changes from 3026165dee..2204599f2b
rajeee Nov 20, 2024
d7977fc
Merge branch 'develop' into electric_vehicles
rajeee Nov 20, 2024
44d4e7d
Squashed 'resources/hpxml-measures/' changes from 2204599f2b..41ec1dbc1e
rajeee Nov 21, 2024
e6cf06a
Merge commit '44d4e7dc66b18197b7f9abb78bccdb20beaf4a02' into electric…
rajeee Nov 21, 2024
ef7f7c4
Squashed 'resources/hpxml-measures/' changes from 41ec1dbc1ed..8c2182…
aspeake Nov 21, 2024
174e9d2
Merge commit 'ef7f7c471b17fe08d5cb02a68dce4d0c8b746ada' into electric…
aspeake Nov 21, 2024
5949046
Fix argument value for fraction charged location.
aspeake Nov 21, 2024
15330b9
testing_tsv_update
rajeee Nov 27, 2024
4d61490
Fixes for integrity checks
rajeee Dec 6, 2024
92fb54e
Squashed 'resources/hpxml-measures/' changes from 8c2182566f6..313b6d…
rajeee Dec 11, 2024
d01270b
Merge commit '92fb54e47950b4f1f2319c371167aa480650586c' into electric…
rajeee Dec 11, 2024
012831a
Merge branch 'develop' into electric_vehicles
rajeee Dec 11, 2024
ae5a46b
use urls for weather files
rajeee Dec 11, 2024
81d2cf4
Switch to a different BSB branch for CI.
rajeee Dec 11, 2024
303a542
Use url for testing yaml
rajeee Dec 11, 2024
1a5eb2e
Update data dict
rajeee Dec 16, 2024
6fbb97d
Squashed 'resources/hpxml-measures/' changes from 313b6d6187f..40ad8e…
rajeee Jan 2, 2025
ab06383
Merge commit '6fbb97dd719547bfd0ba8fbbfa7620800c5887fd' into electric…
rajeee Jan 2, 2025
e73e410
Merge branch 'develop' into electric_vehicles
rajeee Jan 6, 2025
2a25e57
Update testing buildstock.csv
rajeee Jan 7, 2025
d87325c
Update data dictionary
rajeee Jan 7, 2025
0ec3e9c
Remove vehicle output flag
rajeee Jan 7, 2025
8f8f40b
Remove vehicle output flag from dictionary
rajeee Jan 7, 2025
96da498
Add EV unmet hours warning to list of expected warning
rajeee Jan 7, 2025
2c848cf
Ignore mismatch hours per week warning
rajeee Jan 7, 2025
0fef7ce
Add void option to EV ownership
rajeee Jan 7, 2025
c146bbf
Latest results.
Jan 7, 2025
70197bf
Merge branch 'develop' into electric_vehicles
rajeee Jan 8, 2025
da2b1de
New parameter to scale EV efficiency
aspeake Jan 9, 2025
83d04f2
Add back excluded BuildResHPXML argument
aspeake Jan 9, 2025
dcf37c2
Latest results.
Jan 9, 2025
e64b3de
measure testing yml for local runs
whiphi92 Jan 9, 2025
c9de3b3
EV testing yml
whiphi92 Jan 14, 2025
c834fa6
resstock-estimation develop and charge at home fix
afontani Jan 24, 2025
13c53fd
Merge remote-tracking branch 'origin/develop' into electric_vehicles
afontani Jan 24, 2025
e3114b1
Latest results.
Jan 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ jobs:

- name: Run buildstockbatch
run: |
pip install git+https://github.com/NREL/buildstockbatch.git@develop
pip install git+https://github.com/NREL/buildstockbatch.git@ev_output

buildstock_local project_national/national_baseline.yml
buildstock_local project_testing/testing_baseline.yml
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ build_existing_model.doors,:ref:`doors`
build_existing_model.duct_leakage_and_insulation,:ref:`duct_leakage_and_insulation`
build_existing_model.duct_location,:ref:`duct_location`
build_existing_model.eaves,:ref:`eaves`
build_existing_model.electric_vehicle,:ref:`electric_vehicle`
build_existing_model.energystar_climate_zone_2023,:ref:`energystar_climate_zone_2023`
build_existing_model.federal_poverty_level,:ref:`federal_poverty_level`
build_existing_model.generation_and_emissions_assessment_region,:ref:`generation_and_emissions_assessment_region`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
Input Name,Input Description
build_existing_model.electric_vehicle_battery, The type of battery used by EV
build_existing_model.electric_vehicle_charge_at_home, Percentage of EV charging that occurs at home
build_existing_model.electric_vehicle_charger, The type of charger used by EV
build_existing_model.electric_vehicle_miles_traveled, Annual miles traveled by EV
build_existing_model.electric_vehicle_outlet_access, The type of outlet access available for EV
build_existing_model.electric_vehicle_ownership, Whether the EV is present or not
building_id,The building unit number (between 1 and the number of samples).
job_id,The unique identifier of the job/processor.
started_at,Simulation start time.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,7 @@ Zone People Occupant Count: Conditioned Space,zone_people_occupant_count__condit
,schedules_plug_loads_tv,frac,Television plug load energy use schedule.
,schedules_power_outage,,Unavailable period.
,schedules_vacancy,,Unavailable period.
,schedules_ev_battery_charging,frac,Electric vehicle battery charging schedule
,schedules_ev_battery_discharging,frac,Electric vehicle battery discharging schedule
,schedules_ev_occupant,frac,Occupancy schedule of the electric vehicle driving occupant
,schedules_present_occupants,binary,Binary representation of the occupancy of all occupants. Occupancy status of occupant n = schedules_present_occupants & (1 << n)
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,4 @@ report_simulation_output.peak_load_heating_delivered_k_btu_hr,kBtu/hr,,,,Include
report_simulation_output.resilience_battery_hr,hr,Resilience: Battery,resilience__battery__hr,hr,Average length of time the battery state of charge can meet the electric load
report_simulation_output.unmet_hours_cooling_hr,hr,Unmet Hours: Cooling,unmet_hours__cooling__hr,hr,Number of hours where the cooling setpoint is not maintained.
report_simulation_output.unmet_hours_heating_hr,hr,Unmet Hours: Heating,unmet_hours__heating__hr,hr,Number of hours where the heating setpoint is not maintained.
report_simulation_output.unmet_hours_driving_hr,,Unmet Hours: Driving,unmet_hours__driving__hr,hour,Number of hours the electric vehicle was attempted to be driven when SOC was at minimum level
531 changes: 297 additions & 234 deletions measures/ResStockArguments/README.md

Large diffs are not rendered by default.

34 changes: 27 additions & 7 deletions measures/ResStockArguments/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -235,12 +235,6 @@ def arguments(model)
arg.setDefaultValue(0.0)
args << arg

arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('misc_plug_loads_vehicle_2_usage_multiplier', true)
arg.setDisplayName('Plug Loads: Vehicle Usage Multiplier 2')
arg.setDescription('Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants.')
arg.setDefaultValue(0.0)
args << arg

arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('hvac_control_heating_weekday_setpoint_temp', true)
arg.setDisplayName('Heating Setpoint: Weekday Temperature')
arg.setDescription('Specify the weekday heating setpoint temperature.')
Expand Down Expand Up @@ -404,6 +398,18 @@ def arguments(model)
arg.setDescription('Whether the heat pump uses the existing system as backup.')
args << arg

arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ev_average_mph', false)
arg.setDisplayName('Electric Vehicle: Average Miles Per Hour')
arg.setDescription('The average miles/hour driven by the vehicle.')
arg.setUnits('hours')
args << arg

arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ev_efficiency_percent_increase', false)
arg.setDisplayName('Electric Vehicle: Efficiency Improvement')
arg.setDescription('The increase (%) in efficiency of the electric vehicle.')
arg.setUnits('hours')
args << arg

return args
end

Expand Down Expand Up @@ -496,7 +502,7 @@ def run(model, runner, user_arguments)
args[:misc_plug_loads_television_usage_multiplier] = args[:misc_plug_loads_television_usage_multiplier] * args[:misc_plug_loads_television_2_usage_multiplier]
args[:misc_plug_loads_other_usage_multiplier] = args[:misc_plug_loads_other_usage_multiplier] * args[:misc_plug_loads_other_2_usage_multiplier]
args[:misc_plug_loads_well_pump_usage_multiplier] = args[:misc_plug_loads_well_pump_usage_multiplier] * args[:misc_plug_loads_well_pump_2_usage_multiplier]
args[:misc_plug_loads_vehicle_usage_multiplier] = args[:misc_plug_loads_vehicle_usage_multiplier] * args[:misc_plug_loads_vehicle_2_usage_multiplier]
args[:misc_plug_loads_vehicle_present] = false

# PV
if args[:pv_system_present]
Expand Down Expand Up @@ -848,6 +854,20 @@ def run(model, runner, user_arguments)
end
args[:rim_joist_assembly_r] = rim_joist_assembly_r

# Vehicle arguments
if (not args[:ev_miles_per_year].nil?) && (not args[:ev_fraction_charged_home].nil?)
args[:ev_miles_per_year] = args[:ev_miles_per_year] * args[:ev_fraction_charged_home]
end
if (not args[:ev_miles_per_year].nil?) && (not args[:ev_average_mph].nil?)
hours_per_year = args[:ev_miles_per_year] / args[:ev_average_mph]
args[:ev_hours_per_week] = (hours_per_year / UnitConversions.convert(1, 'yr', 'day')) * 7
end

if not args[:ev_efficiency_percent_increase].nil?
# Adjust efficiency (in kWh/mile) to reflect a percentage improvement in efficiency.
args[:ev_energy_efficiency] = args[:ev_energy_efficiency] / (1 + args[:ev_efficiency_percent_increase])
end

args.each do |arg_name, arg_value|
if args_to_delete.include?(arg_name) || (arg_value == Constants::Auto)
arg_value = '' # don't assign these to BuildResidentialHPXML or BuildResidentialScheduleFile
Expand Down
Loading