Skip to content

Commit

Permalink
Merge branch 'ABM3_develop' of https://github.com/SANDAG/ABM into ABM…
Browse files Browse the repository at this point in the history
…3_develop
  • Loading branch information
aletzdy committed May 2, 2024
2 parents fcac21b + ea67756 commit 54059e4
Show file tree
Hide file tree
Showing 11 changed files with 175 additions and 103 deletions.
3 changes: 3 additions & 0 deletions src/asim/configs/common_airport/trip_mode_choice.csv
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,7 @@ util_TNC_LOC_iwait_time,TNC_LOC - First iwait time,@(odt_skims['TNCOUT_LOC_FIRST
util_TNC_LOC_transfer_wait_time,TNC_LOC - transfer wait time,@odt_skims['TNCOUT_LOC_XFERWAIT'] *~df.outbound*2,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,,
util_TNC_LOC_number_of_transfers,TNC_LOC - number of transfers,"@(-23+23*np.exp(0.414*np.clip(odt_skims['TNCOUT_LOC_XFERS'], a_min=None,a_max=4))) *~df.outbound * 2",,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,,
util_TNC_LOC_TNC_time,TNC_LOC - TNC time,@odt_skims['TNCOUT_LOC_ACC'] *~df.outbound*c_walk,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,,
util_TNC_LOC_TNC_wait_time,TNC_LOC - TNC wait time,@ridehailWaitTime,,,,,,,,,,,,,,,,,,,,,,,,,coef_wait,,,
util_TNC_LOC_Walk_egress_time_(at_attraction_end),TNC_LOC - Walk egress time (at attraction end),@df.dest_local_time *~df.outbound*c_walk,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,,
util_TNC_LOC_Walk_other_time,TNC_LOC - Walk other time,@odt_skims['TNCOUT_LOC_XFERWALK'] *~df.outbound*c_walk,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,,
util_TNC_LOC_In_vehicle_time,TNC_LOC - In-vehicle time,@(odt_skims['TNCIN_LOC_TOTALIVTT']) *df.outbound,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,,
Expand All @@ -253,6 +254,7 @@ util_TNC_PRM_FIRST_iwait_time,TNC_PRM - First iwait time,@(odt_skims['TNCOUT_PRM
util_TNC_PRM_transfer_wait_time,TNC_PRM - transfer wait time,@(odt_skims['TNCOUT_PRM_XFERWAIT']) *~df.outbound*2,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,
util_TNC_PRM_number_of_transfers,TNC_PRM - number of transfers,"@(-23+23*np.exp(0.414*np.clip(odt_skims['TNCOUT_PRM_XFERS'], a_min=None,a_max=4))) *~df.outbound *2",,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,
util_TNC_PRM_TNC_time,TNC_PRM - TNC time,@(odt_skims['TNCOUT_PRM_ACC']) *~df.outbound *c_walk,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,
util_TNC_PRM_TNC_wait_time,TNC_PRM - TNC wait time,@ridehailWaitTime,,,,,,,,,,,,,,,,,,,,,,,,,,coef_wait,,
util_TNC_PRM_Walk_egress_time_(at_attraction_end),TNC_PRM - Walk egress time (at attraction end),@(df.dest_prm_time + df.dest_local_time) *~df.outbound *c_walk,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,
util_TNC_PRM_Walk_other_time,TNC_PRM - Walk other time,@(odt_skims['TNCOUT_PRM_XFERWALK']) *~df.outbound*c_walk,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,,
util_TNC_MIX_inbound_Unavailable,TNC_MIX inbound - Unavailable,tnc_premium_available_inbound == False,,,,,,,,,,,,,,,,,,,,,,,,,,-999,,
Expand Down Expand Up @@ -280,6 +282,7 @@ util_TNC_MIX_FIRST_iwait_time,TNC_MIX - First iwait time,@(odt_skims['TNCOUT_MIX
util_TNC_MIX_transfer_wait_time,TNC_MIX - transfer wait time,@ (odt_skims['TNCOUT_MIX_XFERWAIT']) *~df.outbound*2,,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,
util_TNC_MIX_number_of_transfers,TNC_MIX - number of transfers,"@(-23+23*np.exp(0.414*np.clip(odt_skims['TNCOUT_MIX_XFERS'], a_min=None,a_max=4))) *~df.outbound *2",,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,
util_TNC_MIX_TNC_time,TNC_MIX - TNC time,@(odt_skims['TNCOUT_MIX_ACC']) *~df.outbound*c_walk,,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,
util_TNC_MIX_TNC_wait_time,TNC_MIX - TNC wait time,@ridehailWaitTime,,,,,,,,,,,,,,,,,,,,,,,,,,,coef_wait,
util_TNC_MIX_Walk_egress_time_(at_attraction_end),TNC_MIX - Walk egress time (at attraction end),@(df.dest_mix_time) *~df.outbound*c_walk ,,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,
util_TNC_MIX_Walk_other_time,TNC_MIX - Walk other time,@(odt_skims['TNCOUT_MIX_XFERWALK']) *~df.outbound*c_walk ,,,,,,,,,,,,,,,,,,,,,,,,,,,coef_ivt,
util_TNC_MIX_inbound_Unavailable,TNC_MIX inbound - Unavailable,tnc_mix_available_inbound == False,,,,,,,,,,,,,,,,,,,,,,,,,,,-999,
Expand Down
8 changes: 7 additions & 1 deletion src/asim/configs/crossborder/trip_mode_choice.csv
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ util_WALKLOC__In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WALK_LOC_T
util_WALK_LOC_iwait_time,WALK_LOC - wait time,@(odt_skims['WALK_LOC_FIRSTWAIT']) * c_fwt * df.c_ivt,,,,,1,,,,,
util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@(odt_skims['WALK_LOC_XFERWAIT']) * c_xwt * df.c_ivt,,,,,1,,,,,
util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,"@np.where(df.nev_local_access_available_in & ~df.outbound, df.nev_local_access_time_in, np.where(df.microtransit_local_access_available_in & ~df.outbound, df.microtransit_local_access_time_in, df.origin_local_time)) * df.c_ivt * c_walk",,,,,1,,,,,
util_WALK_LOC_wait_access_time,WALK_LOC - Access mt/nev wait time,"@np.where(df.nev_local_access_available_in & ~df.outbound, nevWaitTime, np.where(df.microtransit_local_access_available_in & ~df.outbound, microtransitWaitTime, 0)) * df.c_ivt * 1.5",,,,,1,,,,,
util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,"@np.where(df.nev_local_egress_available_out & df.outbound, df.nev_local_egress_time_out, np.where(df.microtransit_local_egress_available_out & df.outbound, df.microtransit_local_egress_time_out, df.dest_local_time)) * df.c_ivt * c_walk",,,,,1,,,,,
util_WALK_LOC_wait_egress_time,WALK_LOC - Egress mt/nev wait time,"@np.where(df.nev_local_egress_available_out & df.outbound, nevWaitTime, np.where(df.microtransit_local_egress_available_out & df.outbound, microtransitWaitTime, 0)) * df.c_ivt * 1.5",,,,,1,,,,,
util_WALK_LOC_transfer_walk_time,WALK_LOC - transfer walk time,@(odt_skims['WALK_LOC_XFERWALK']) * c_waux * df.c_ivt ,,,,,1,,,,,
util_WALK_LOC_transfers_penalty,WALK_LOC - number of transfers,"@(-23+23*np.exp(0.414*np.clip(odt_skims['WALK_LOC_XFERS'] + df.outbound*df.mtnev_egr_xfer_out + ~df.outbound*df.mtnev_acc_xfer_in, a_min=None,a_max=4))) * df.c_ivt * 1.5",,,,,1,,,,,
util_WALK_LOC_Fare,WALK_LOC - Fare,@(odt_skims['WALK_LOC_FARE']) * c_cost * 100,,,,,1,,,,,
Expand All @@ -32,7 +34,9 @@ util_WALK_PRM_transfer_wait_time,WALK_PRM - transfer wait time,@(odt_skims['WALK
util_WALK_PRM_transfer_waLK_time,WALK_PRM - transfer walk time,@(odt_skims['WALK_PRM_XFERWALK']) * c_waux * df.c_ivt ,,,,,,1,,,,
util_WALK_PRM_transfers_penalty,WALK_PRM - number of transfers,"@(-23+23*np.exp(0.414*np.clip(odt_skims['WALK_PRM_XFERS'] + df.outbound*df.mtnev_egr_xfer_out + ~df.outbound*df.mtnev_acc_xfer_in, a_min=None,a_max=4)))* df.c_ivt * 1.5 ",,,,,,1,,,,
util_WALK_PRM_Walk_access_time,WALK_PRM - Walk access time,"@np.where(df.nev_prm_access_available_in & ~df.outbound, df.nev_prm_access_time_in, np.where(df.microtransit_prm_access_available_in & ~df.outbound, df.microtransit_prm_access_time_in, df.origin_prm_time)) * df.c_ivt * c_walk",,,,,,1,,,,
util_WALK_PRM_wait_access_time,WALK_PRM - Access mt/nev wait time,"@np.where(df.nev_prm_access_available_in & ~df.outbound, nevWaitTime, np.where(df.microtransit_prm_access_available_in & ~df.outbound, microtransitWaitTime, 0)) * df.c_ivt * 1.5",,,,,,1,,,,
util_WALK_PRM_Walk_egress_time,WALK_PRM - Walk egress time,"@np.where(df.nev_prm_egress_available_out & df.outbound, df.nev_prm_egress_time_out, np.where(df.microtransit_prm_egress_available_out & df.outbound, df.microtransit_prm_egress_time_out, df.dest_prm_time)) * df.c_ivt * c_walk",,,,,,1,,,,
util_WALK_PRM_wait_egress_time,WALK_PRM - Egress mt/nev wait time,"@np.where(df.nev_prm_egress_available_out & df.outbound, nevWaitTime, np.where(df.microtransit_prm_egress_available_out & df.outbound, microtransitWaitTime, 0)) * df.c_ivt * 1.5",,,,,,1,,,,
util_WALK_PRM_Fare,WALK_PRM - Fare,@odt_skims['WALK_PRM_FARE'] * c_cost * 100,,,,,,1,,,,
util_WALK_PRM_ASC,ASC,asc_eb_prm,,,,,,1,,,,
util_cr_long_distance_prm,CR long distance bonus,"@(odt_skims['WALK_PRM_CMRIVTT'] > 10) * df.c_ivt * -1.0 * (np.clip(odt_skims['WALK_PRM_CMRIVTT'], a_min=None, a_max=60) + np.where(odt_skims['WALK_PRM_CMRIVTT'] > 40, (odt_skims['WALK_PRM_CMRIVTT'] - 40) * 0.6, 0))",,,,,,1,,,,
Expand All @@ -47,14 +51,16 @@ util_WALK_MIX_FIRST_wait_time,WALK_MIX - First wait time,@(odt_skims['WALK_MIX_F
util_WALK_MIX_transfer_wait_time,WALK_MIX - transfer wait time,@(odt_skims['WALK_MIX_XFERWAIT']) * c_xwt * df.c_ivt,,,,,,,1,,,
util_WALK_MIX_number_of_transfers,WALK_MIX - number of transfers,"@(-23+23*np.exp(0.414*np.clip(odt_skims['WALK_MIX_XFERS'] + df.outbound*df.mtnev_egr_xfer_out + ~df.outbound*df.mtnev_acc_xfer_in, a_min=None,a_max=4))) * df.c_ivt * 1.5 ",,,,,,,1,,,
util_WALK_MIX_Walk_access_time,WALK_MIX - Walk access time,"@np.where(df.nev_mix_access_available_in & ~df.outbound, df.nev_mix_access_time_in, np.where(df.microtransit_mix_access_available_in & ~df.outbound, df.microtransit_mix_access_time_in, df.origin_mix_time)) * df.c_ivt * c_walk",,,,,,,1,,,
util_WALK_MIX_wait_access_time,WALK_MIX - Access mt/nev wait time,"@np.where(df.nev_mix_access_available_in & ~df.outbound, nevWaitTime, np.where(df.microtransit_mix_access_available_in & ~df.outbound, microtransitWaitTime, 0)) * df.c_ivt * 1.5",,,,,,,1,,,
util_WALK_MIX_Walk_egress_time,WALK_MIX - Walk egress time,"@np.where(df.nev_mix_egress_available_out & df.outbound, df.nev_mix_egress_time_out, np.where(df.microtransit_mix_egress_available_out & df.outbound, df.microtransit_mix_egress_time_out, df.dest_mix_time)) * df.c_ivt * c_walk",,,,,,,1,,,
util_WALK_MIX_wait_egress_time,WALK_MIX - Egress mt/nev wait time,"@np.where(df.nev_mix_egress_available_out & df.outbound, nevWaitTime, np.where(df.microtransit_mix_egress_available_out & df.outbound, microtransitWaitTime, 0)) * df.c_ivt * 1.5",,,,,,,1,,,
util_WALK_MIX_Walk_other_time,WALK_MIX - Walk other time,@(odt_skims['WALK_MIX_XFERWALK'])* c_waux * df.c_ivt ,,,,,,,1,,,
util_WALK_MIX_Fare,WALK_MIX - Fare,@(odt_skims['WALK_MIX_FARE']) * c_cost * 100,,,,,,,1,,,
util_WALK_MIX_ASC,ASC,"@df.asc_eb_mix * np.where(odt_skims['WALK_LOC_TOTALIVTT'] > 0, 0.5, 1)",,,,,,,1,,,
util_cr_long_distance_prm,CR long distance bonus,"@(odt_skims['WALK_PRM_CMRIVTT'] > 10) * df.c_ivt * -1.0 * (np.clip(odt_skims['WALK_PRM_CMRIVTT'], a_min=None, a_max=60) + np.where(odt_skims['WALK_PRM_CMRIVTT'] > 40, (odt_skims['WALK_PRM_CMRIVTT'] - 40) * 0.6, 0))",,,,,,,1,,,
#,,,,,,,,,,,,
util_TAXI_IVT,Taxi - In-vehicle time,c_ivt * s2_time_skims,,,,,,,,1,,
util_TAXI_wait,Taxi - Wait time,c_ivt * taxi_wait_time,,,,,,,,1,,
util_TAXI_wait,Taxi - Wait time,c_ivt * 1.5 * taxi_wait_time,,,,,,,,1,,
util_TAXI_cost,Taxi - Fare,@c_cost * ((taxi_base_fare + (df.s2_dist_skims * taxi_cost_per_mile) + (df.s2_time_skims * taxi_cost_per_minute)) * 100 + df.s2_cost_skims),,,,,,,,1,,
util_TNC_SINGLE_IVT,TNC Single - In-vehicle time,c_ivt * s2_time_skims,,,,,,,,,1,
util_TNC_SINGLE_wait,TNC Single - Wait time,c_ivt * 1.5 * tnc_single_wait_time,,,,,,,,,1,
Expand Down
Loading

0 comments on commit 54059e4

Please sign in to comment.