🚀
Describe the workflow you want to enable
Currently, the smart charging code for light-duty vehicles uses a constant value called emfacvmt in order to scale the charging profiles. However, emfacvmt needs to be updated so that its value is based on the type of area that the user would like to generate profiles for.
Describe your proposed implementation, if applicable
Similar to what's already implemented in PR #301 and PR #302, we can create functions load_urbanized_scaling_factor and load_rural_scaling_factor to load values for urbanized and rural areas in order to generate the appropriate the charging profiles.
Function: load_urbanized_scaling_factor
- Load the scaling factor for urbanized areas based on model year and vehicle type for the inputted urbanized area and state.
- Input parameters:
int model_year: year that is being modelled/projected to, 2017, 2030, 2040, 2050.
str veh_type: determine which category (MDV, HDV, or Transit) to produce a fuel efficiency value for.
int veh_range: 100, 200, or 300, represents how far vehicle can travel on single charge.
str urbanized_area: name of urbanized area or city.
str state: the US state the inputted urbanized area is in.
str filepath: the path to the csv.
- Output:
- (int/float) -- scaling factor value from the Regional_scaling_factors_UA_{model_year}.csv
raises ValueError: if veh_range is not 100, 200, or 300 and if veh_type is not 'LDT', 'LDV', 'MDV', 'HDV', or 'Transit
Function: load_rural_scaling_factor
- Load the scaling factor for rural areas based on model year and vehicle type for the inputted state.
- Input parameters:
int model_year: year that is being modelled/projected to, 2017, 2030, 2040, 2050.
str veh_type: determine which category (MDV, HDV, or Transit) to produce a fuel efficiency value for.
int veh_range: 100, 200, or 300, represents how far vehicle can travel on single charge.
str state: the US state the inputted urbanized area is in.
str filepath: the path to the csv.
- Output:
- (int/float) -- scaling factor value from the Regional_scaling_factors_RA_{model_year}.csv
raises ValueError: if veh_range is not 100, 200, or 300 and if veh_type is not 'LDT', 'LDV', 'MDV', 'HDV', or 'Transit
Describe alternatives you've considered, if relevant
Open to alternate solutions on how Breakthrough would like to integrate the scaling factors for the charging profiles.
Additional context
🚀
Describe the workflow you want to enable
Currently, the smart charging code for light-duty vehicles uses a constant value called
emfacvmtin order to scale the charging profiles. However,emfacvmtneeds to be updated so that its value is based on the type of area that the user would like to generate profiles for.Describe your proposed implementation, if applicable
Similar to what's already implemented in PR #301 and PR #302, we can create functions
load_urbanized_scaling_factorandload_rural_scaling_factorto load values for urbanized and rural areas in order to generate the appropriate the charging profiles.Function:
load_urbanized_scaling_factorint model_year: year that is being modelled/projected to, 2017, 2030, 2040, 2050.str veh_type: determine which category (MDV, HDV, or Transit) to produce a fuel efficiency value for.int veh_range: 100, 200, or 300, represents how far vehicle can travel on single charge.str urbanized_area: name of urbanized area or city.str state: the US state the inputted urbanized area is in.str filepath: the path to the csv.raises ValueError: ifveh_rangeis not 100, 200, or 300 and ifveh_typeis not 'LDT', 'LDV', 'MDV', 'HDV', or 'TransitFunction:
load_rural_scaling_factorint model_year: year that is being modelled/projected to, 2017, 2030, 2040, 2050.str veh_type: determine which category (MDV, HDV, or Transit) to produce a fuel efficiency value for.int veh_range: 100, 200, or 300, represents how far vehicle can travel on single charge.str state: the US state the inputted urbanized area is in.str filepath: the path to the csv.raises ValueError: ifveh_rangeis not 100, 200, or 300 and ifveh_typeis not 'LDT', 'LDV', 'MDV', 'HDV', or 'TransitDescribe alternatives you've considered, if relevant
Open to alternate solutions on how Breakthrough would like to integrate the scaling factors for the charging profiles.
Additional context