From 1cc2090d407b9ffea0ba414ed6b83842b53bb2e7 Mon Sep 17 00:00:00 2001 From: Joe Flood Date: Thu, 12 Sep 2024 13:54:22 -0700 Subject: [PATCH 1/4] Added chargerSensitivityDecayFactor to vehicle type choice constants --- src/asim/configs/resident/vehicle_type_choice.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/asim/configs/resident/vehicle_type_choice.yaml b/src/asim/configs/resident/vehicle_type_choice.yaml index 1d497bbae..8ed272bf3 100644 --- a/src/asim/configs/resident/vehicle_type_choice.yaml +++ b/src/asim/configs/resident/vehicle_type_choice.yaml @@ -129,4 +129,5 @@ CONSTANTS: CHARGERS_PER_CAP: 0.00034592 # chargers per cap used in vehicle type model estimation # CHARGERS_PER_CAP: 0.000721205 - scenarioYear: 2022 \ No newline at end of file + scenarioYear: 2022 + chargerSensitivityDecayFactor: -0.08245202 From fbe02dd8d91a766d250643c29528e26b580380ed Mon Sep 17 00:00:00 2001 From: Joe Flood Date: Thu, 12 Sep 2024 13:58:14 -0700 Subject: [PATCH 2/4] Updated vehicle choice spec to have exponentially decaying sensitivity to chargers per capita --- src/asim/configs/resident/vehicle_type_choice_op4.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/asim/configs/resident/vehicle_type_choice_op4.csv b/src/asim/configs/resident/vehicle_type_choice_op4.csv index 263d56de6..23c0cfbfb 100644 --- a/src/asim/configs/resident/vehicle_type_choice_op4.csv +++ b/src/asim/configs/resident/vehicle_type_choice_op4.csv @@ -4,7 +4,7 @@ util_ln_nmakes,number of makes available,"logged_makes",coef_ln_nmakes util_mpg,miles per gallon (or equivalent),"@df.MPG",coef_mpg util_crange,Range for BEV (mi),"@df.Range",coef_crange util_crangeltwk,range less than average round trip distance to work,"(Range < (avg_hh_dist_to_work * 2)) & (fuel_type_num_coded==1)",coef_crangeltwk -util_ln_chpc_ev,ln(1+number of chargers per capita in MSA/state),"logged_chargers_per_capita * ((fuel_type_num_coded==5) | (fuel_type_num_coded==1))",coef_ln_chpc_ev +util_ln_chpc_ev,ln(1+number of chargers per capita in MSA/state),"@logged_chargers_per_capita * ((df.fuel_type_num_coded==5) | (df.fuel_type_num_coded==1)) * np.exp(chargerSensitivityDecayFactor*(scenarioYear-2022))",coef_ln_chpc_ev #,autonomous vehicle related variables,, util_must_select_av,Must select autonomous vehicle if hh owns one,av_ownership & ~is_av & (num_hh_veh_owned == 0),coef_unavail util_must_select_av,Cannot select AV if hh does not own one,~av_ownership & is_av,coef_unavail @@ -148,4 +148,4 @@ util_calib_bev_2022,BEV calibration factor for 2022,"@(df.fuel_type_num_coded==1 util_calib_pev_2035,PEV calibration factor for 2035,"@(df.fuel_type_num_coded==5)*np.minimum((scenarioYear-2022)/(2035-2022), 1 + (2035-scenarioYear)/(2050-2035))",coef_calib_pev_2035 util_calib_bev_2035,BEV calibration factor for 2035,"@(df.fuel_type_num_coded==1)*np.minimum((scenarioYear-2022)/(2035-2022), 1 + (2035-scenarioYear)/(2050-2035))",coef_calib_bev_2035 util_calib_pev_2050,PEV calibration factor for 2050,"@(df.fuel_type_num_coded==5)*np.maximum((scenarioYear-2035)/(2050-2035), 0)",coef_calib_pev_2050 -util_calib_bev_2050,BEV calibration factor for 2050,"@(df.fuel_type_num_coded==1)*np.maximum((scenarioYear-2035)/(2050-2035), 0)",coef_calib_bev_2050 \ No newline at end of file +util_calib_bev_2050,BEV calibration factor for 2050,"@(df.fuel_type_num_coded==1)*np.maximum((scenarioYear-2035)/(2050-2035), 0)",coef_calib_bev_2050 From 4335f67b7caa4b61fc272c724cfa17cf95357df1 Mon Sep 17 00:00:00 2001 From: Joe Flood Date: Thu, 12 Sep 2024 14:14:29 -0700 Subject: [PATCH 3/4] Added lower charger coefficient and recalibrated EV coefficients --- .../vehicle_type_choice_op4_coefficients.csv | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/asim/configs/resident/vehicle_type_choice_op4_coefficients.csv b/src/asim/configs/resident/vehicle_type_choice_op4_coefficients.csv index 62269dac2..1b705097c 100644 --- a/src/asim/configs/resident/vehicle_type_choice_op4_coefficients.csv +++ b/src/asim/configs/resident/vehicle_type_choice_op4_coefficients.csv @@ -5,7 +5,7 @@ coef_ln_nmakes,.247,F coef_mpg,0.007,F coef_crange,0.018,F coef_crangeltwk,-0.781,F -coef_ln_chpc_ev,1686.871,F +coef_ln_chpc_ev,354.347,F coef_cprice0,-0.00010,F coef_cprice25,-0.00009,F coef_cprice50,-0.00008,F @@ -188,9 +188,9 @@ coef_ohio_mc,0.140,F coef_ohio_hyb,-0.142,F coef_ohio_ev,-1.590,F coef_ohio_age,-0.008,F -coef_calib_pev_2022,-2.55829,F -coef_calib_bev_2022,-1.70775,F -coef_calib_pev_2035,-12.8722,F -coef_calib_bev_2035,-12.75503,F -coef_calib_pev_2050,-67.86506714368133,F -coef_calib_bev_2050,-68.87800114333946,F +coef_calib_pev_2022,0.56468,F +coef_calib_bev_2022,1.42228,F +coef_calib_pev_2035,0.86656,F +coef_calib_bev_2035,0.98343,F +coef_calib_pev_2050,0.36963,F +coef_calib_bev_2050,-0.64752,F From faa308f22727cfae7e70ca01c0a13c59c4c68c22 Mon Sep 17 00:00:00 2001 From: Joe Flood Date: Fri, 13 Sep 2024 15:41:00 -0700 Subject: [PATCH 4/4] Added df. ahead of logged_chargers_per_capita as that is a field and not a constant --- src/asim/configs/resident/vehicle_type_choice_op4.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/asim/configs/resident/vehicle_type_choice_op4.csv b/src/asim/configs/resident/vehicle_type_choice_op4.csv index 23c0cfbfb..33f92dc47 100644 --- a/src/asim/configs/resident/vehicle_type_choice_op4.csv +++ b/src/asim/configs/resident/vehicle_type_choice_op4.csv @@ -4,7 +4,7 @@ util_ln_nmakes,number of makes available,"logged_makes",coef_ln_nmakes util_mpg,miles per gallon (or equivalent),"@df.MPG",coef_mpg util_crange,Range for BEV (mi),"@df.Range",coef_crange util_crangeltwk,range less than average round trip distance to work,"(Range < (avg_hh_dist_to_work * 2)) & (fuel_type_num_coded==1)",coef_crangeltwk -util_ln_chpc_ev,ln(1+number of chargers per capita in MSA/state),"@logged_chargers_per_capita * ((df.fuel_type_num_coded==5) | (df.fuel_type_num_coded==1)) * np.exp(chargerSensitivityDecayFactor*(scenarioYear-2022))",coef_ln_chpc_ev +util_ln_chpc_ev,ln(1+number of chargers per capita in MSA/state),"@df.logged_chargers_per_capita * ((df.fuel_type_num_coded==5) | (df.fuel_type_num_coded==1)) * np.exp(chargerSensitivityDecayFactor*(scenarioYear-2022))",coef_ln_chpc_ev #,autonomous vehicle related variables,, util_must_select_av,Must select autonomous vehicle if hh owns one,av_ownership & ~is_av & (num_hh_veh_owned == 0),coef_unavail util_must_select_av,Cannot select AV if hh does not own one,~av_ownership & is_av,coef_unavail