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 28 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 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
954ebf5
Squashed 'resources/hpxml-measures/' changes from 3c867be6e4..b102371faf
rajeee Sep 21, 2024
32bd4c1
Merge commit '954ebf5c8d55b472c9765e0b75199f2891d1dfbd' into electric…
rajeee Sep 21, 2024
9176566
Squashed 'resources/hpxml-measures/' changes from b102371faf..d15baa1866
rajeee Sep 21, 2024
bac97f2
Merge commit '9176566131b1ae66bcb55771fb6a8321bee94e5c' into electric…
rajeee Sep 21, 2024
7b1f6d3
Squashed 'resources/hpxml-measures/' changes from d15baa1866..86144f9da7
rajeee Oct 2, 2024
f05db6d
Merge commit '7b1f6d34b346de20ff9e0538829c6ded1d659ba2' into electric…
rajeee Oct 2, 2024
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
151 changes: 107 additions & 44 deletions measures/ResStockArguments/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3846,6 +3846,100 @@ The round trip efficiency of the lithium ion battery. If not provided, the OS-HP

<br/>

**Electric Vehicle: Present**

Whether there is an electric vehicle battery present. Cannot be included if an electric vehicle is modeled as a plug load as specified by the `misc_plug_loads_vehicle_present` argument.

- **Name:** ``ev_battery_present``
- **Type:** ``Choice``

- **Required:** ``false``

- **Choices:** `auto`, `true`, `false`

<br/>

**Electric Vehicle: Usable Battery Capacity**

The usable capacity of the EV battery. If not provided, the OS-HPXML default is used.

- **Name:** ``ev_battery_usable_capacity``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Electric Vehicle: Energy Efficiency**

The efficiency of the EV. If not provided, the OS-HPXML default is used.

- **Name:** ``ev_energy_efficiency``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Electric Vehicle: Miles Traveled**

The annual miles traveled by the EV.

- **Name:** ``ev_miles_per_year``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Electric Vehicle: Fraction Charged at Home**

The fraction charging energy provided by the at-home charger.

- **Name:** ``ev_fraction_charged_home``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Electric Vehicle Charger: Present**

Whether there is an electric vehicle charger present.

- **Name:** ``ev_charger_present``
- **Type:** ``Choice``

- **Required:** ``false``

- **Choices:** `auto`, `true`, `false`

<br/>

**Electric Vehicle Charger: Rated Charger Power Output**

The rated power output of the EV charger. If not provided, the OS-HPXML default is used.

- **Name:** ``ev_charger_power``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Electric Vehicle Charger: Location**

The space type for the EV charger. If not provided, the OS-HPXML default is used.

- **Name:** ``ev_charger_location``
- **Type:** ``Choice``

- **Required:** ``false``

- **Choices:** `auto`, `garage`, `outside`

<br/>

**Lighting: Present**

Whether there is lighting energy use.
Expand Down Expand Up @@ -4799,39 +4893,6 @@ Multiplier on the well pump energy usage that can reflect, e.g., high/low usage

<br/>

**Misc Plug Loads: Vehicle Present**

Whether there is an electric vehicle.

- **Name:** ``misc_plug_loads_vehicle_present``
- **Type:** ``Boolean``

- **Required:** ``true``

<br/>

**Misc Plug Loads: Vehicle Annual kWh**

The annual energy consumption of the electric vehicle plug loads. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.8.1/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used.

- **Name:** ``misc_plug_loads_vehicle_annual_kwh``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Misc Plug Loads: Vehicle Usage Multiplier**

Multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.8.1/workflow_inputs.html#hpxml-plug-loads'>HPXML Plug Loads</a>) is used.

- **Name:** ``misc_plug_loads_vehicle_usage_multiplier``
- **Type:** ``String``

- **Required:** ``false``

<br/>

**Misc Fuel Loads: Grill Present**

Whether there is a fuel loads grill.
Expand Down Expand Up @@ -5370,17 +5431,6 @@ Additional multiplier on the well pump energy usage that can reflect, e.g., high

<br/>

**Plug Loads: Vehicle Usage Multiplier 2**

Additional multiplier on the electric vehicle energy usage that can reflect, e.g., high/low usage occupants.

- **Name:** ``misc_plug_loads_vehicle_2_usage_multiplier``
- **Type:** ``Double``

- **Required:** ``true``

<br/>

**Heating Setpoint: Weekday Temperature**

Specify the weekday heating setpoint temperature.
Expand Down Expand Up @@ -5699,6 +5749,19 @@ Whether the heat pump uses the existing system as backup.

<br/>

**Electric Vehicle: Average Miles Per Hour**

The average miles/hour driven by the vehicle.

- **Name:** ``ev_average_mph``
- **Type:** ``Double``

- **Units:** ``hours``

- **Required:** ``false``

<br/>




Expand Down
23 changes: 16 additions & 7 deletions measures/ResStockArguments/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -205,12 +205,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 @@ -374,6 +368,12 @@ 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

return args
end

Expand Down Expand Up @@ -465,7 +465,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

# Other
if args[:misc_plug_loads_other_annual_kwh] == Constants::Auto
Expand Down Expand Up @@ -734,6 +734,15 @@ 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

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