diff --git a/README.md b/README.md index ba5e6c029..4d4f0e57c 100644 --- a/README.md +++ b/README.md @@ -15,4 +15,4 @@ and benefit from contributions of other agency partners. ## Documentation -https://activitysim.github.io/activitysim +https://activitysim.github.io/activitysim diff --git a/activitysim/core/simulate.py b/activitysim/core/simulate.py index bedd3a562..c14939da9 100644 --- a/activitysim/core/simulate.py +++ b/activitysim/core/simulate.py @@ -445,15 +445,6 @@ def eval_utilities(spec, choosers, locals_d=None, trace_label=None, # Cause all warnings to always be triggered. warnings.simplefilter("always") if expr.startswith('@'): - tilde_idx = expr.find('~') - if (tilde_idx > -1): - if expr[tilde_idx + 1: tilde_idx + 3] != 'df': - logger.warning( - "Found a `~` operator in an expression being " - "evaluated by the Python `eval()` rather than " - "Pandas. This is probably a mistake since Python " - "will evaluate `~False` as -1 and `~True` as -2." - ) expression_value = eval(expr[1:], globals_dict, locals_dict) else: diff --git a/activitysim/examples/example_arc/configs/trip_destination.yaml b/activitysim/examples/example_arc/configs/trip_destination.yaml index c885ea9a7..a6ee2e48e 100644 --- a/activitysim/examples/example_arc/configs/trip_destination.yaml +++ b/activitysim/examples/example_arc/configs/trip_destination.yaml @@ -14,7 +14,7 @@ DEST_CHOICE_SAMPLE_TABLE_NAME: trip_destination_sample # model-specific logsum-related settings TRIP_ORIGIN: origin ALT_DEST_COL_NAME: dest_zone_id -PRIMARY_DEST: destination +PRIMARY_DEST: tour_leg_dest # must be created in preprocessor REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: - tour_mode diff --git a/activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv index 1ba3afb70..e94b9ea22 100644 --- a/activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_arc/configs/trip_destination_annotate_trips_preprocessor.csv @@ -10,3 +10,4 @@ Description,Target,Expression #,,not needed as school is not chosen as an intermediate trip destination #,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" #,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" +,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/accessibility.csv b/activitysim/examples/example_mtc/configs/accessibility.csv index 621387555..db2275546 100644 --- a/activitysim/examples/example_mtc/configs/accessibility.csv +++ b/activitysim/examples/example_mtc/configs/accessibility.csv @@ -21,12 +21,12 @@ auto off-peak total,auOpTotal,df.TOTEMP * _decay #,, assume peak outbound transit occurs in AM o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'AM')]" o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_XWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_WACC', 'AM')] + skim_od[('WLK_TRN_WLK_WAUX', 'AM')] + skim_od[('WLK_TRN_WLK_WEGR', 'AM')]" -o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 +o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR #,, assume peak inbound transit occurs in PM d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'PM')]" d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_XWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_WACC', 'PM')] + skim_do[('WLK_TRN_WLK_WAUX', 'PM')] + skim_do[('WLK_TRN_WLK_WEGR', 'PM')]" -d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 -peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do +d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) transit peak retail,trPkRetail,df.RETEMPN * _decay @@ -37,12 +37,12 @@ transit peak total,trPkTotal,df.TOTEMP * _decay #,, assume off-peak outbound transit occurs in the MD time period o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'MD')]" o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_WACC', 'MD')] + skim_od[('WLK_TRN_WLK_WAUX', 'MD')] + skim_od[('WLK_TRN_WLK_WEGR', 'MD')]" -o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 +o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR #,, assume off-peak inbound transit occurs in the MD time period d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'MD')]" d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_WACC', 'MD')] + skim_do[('WLK_TRN_WLK_WAUX', 'MD')] + skim_do[('WLK_TRN_WLK_WEGR', 'MD')]" -d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 -peak transit time,_trOpTime,_trOpTime_od + _trOpTime_do +d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trOpTime,(_trOpTime_od + _trOpTime_do).clip(0) #,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job #round trip path is available,_rt_available,(_trOpTime > 0) round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) diff --git a/activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv b/activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv index 88ef9487f..87a5853d6 100644 --- a/activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv +++ b/activitysim/examples/example_mtc/configs/annotate_persons_workplace.csv @@ -16,14 +16,14 @@ work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.wor ,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) ,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" #,,_roundtrip_transit_time_to_work -,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/100" -,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/100" +,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" ,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) -,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/100" -,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/100" -,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/100" -,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/100" -,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/100" +,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR" ,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr #,,work_auto_savings_ratio ,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" diff --git a/activitysim/examples/example_mtc/configs/constants.yaml b/activitysim/examples/example_mtc/configs/constants.yaml index 7d3864fd9..b0bd5a1f3 100644 --- a/activitysim/examples/example_mtc/configs/constants.yaml +++ b/activitysim/examples/example_mtc/configs/constants.yaml @@ -61,3 +61,8 @@ PTYPE_NAME: CDAP_ACTIVITY_MANDATORY: M CDAP_ACTIVITY_NONMANDATORY: N CDAP_ACTIVITY_HOME: H + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 100 diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice.csv b/activitysim/examples/example_mtc/configs/tour_mode_choice.csv index d15a4c962..8f6e7aadb 100644 --- a/activitysim/examples/example_mtc/configs/tour_mode_choice.csv +++ b/activitysim/examples/example_mtc/configs/tour_mode_choice.csv @@ -70,89 +70,89 @@ util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsi util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, #,Walk,,,,,,,,,,,,,,,,,,,,,, #,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (df.distance_walk_od.clip(upper=walkThresh) + df.distance_walk_od.clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((df.distance_walk_od - walkThresh).clip(lower=0) + (df.distance_walk_od - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, #,Bike,,,,,,,,,,,,,,,,,,,,,, #,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (df.distance_bike_od.clip(upper=bikeThresh) + df.distance_bike_od.clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((df.distance_bike_od-bikeThresh).clip(lower=0) + (df.distance_bike_od-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, #,Walk to Local,,,,,,,,,,,,,,,,,,,,,, util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/100 + dot_skims['WLK_LOC_WLK_TOTIVT']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/100 + dot_skims['WLK_LOC_WLK_XWAIT']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/100 + dot_skims['WLK_LOC_WLK_WAUX']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, #,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/100 + dot_skims['WLK_LRF_WLK_TOTIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, #, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/100 + dot_skims['WLK_LRF_WLK_XWAIT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/100 + dot_skims['WLK_LRF_WLK_WAUX']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, #,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/100 + dot_skims['WLK_EXP_WLK_TOTIVT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/100 + dot_skims['WLK_EXP_WLK_XWAIT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/100 + dot_skims['WLK_EXP_WLK_WAUX']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, #,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/100 + dot_skims['WLK_HVY_WLK_TOTIVT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/100 + dot_skims['WLK_HVY_WLK_XWAIT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/100 + dot_skims['WLK_HVY_WLK_WAUX']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, #,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/100 + dot_skims['WLK_COM_WLK_TOTIVT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/100 + dot_skims['WLK_COM_WLK_XWAIT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/100 + dot_skims['WLK_COM_WLK_WAUX']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, @@ -161,17 +161,17 @@ util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/100 + dot_skims['WLK_LOC_DRV_TOTIVT']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/100 + dot_skims['WLK_LOC_DRV_XWAIT']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/100 + dot_skims['WLK_LOC_DRV_DTIM']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/100 + dot_skims['WLK_LOC_DRV_WAUX']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/100+dot_skims['WLK_LOC_DRV_DDIST']/100) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/100+ dot_skims['WLK_LOC_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, @@ -179,19 +179,19 @@ util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/100 + dot_skims['WLK_LRF_DRV_TOTIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_DRV_FERRYIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/100 + dot_skims['WLK_LRF_DRV_XWAIT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/100 + dot_skims['WLK_LRF_DRV_DTIM']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/100 + dot_skims['WLK_LRF_DRV_WAUX']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/100+dot_skims['WLK_LRF_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/100+ dot_skims['WLK_LRF_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, @@ -199,18 +199,18 @@ util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/100 + dot_skims['WLK_EXP_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/100 + dot_skims['WLK_EXP_DRV_XWAIT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/100 + dot_skims['WLK_EXP_DRV_DTIM']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/100 + dot_skims['WLK_EXP_DRV_WAUX']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/100+dot_skims['WLK_EXP_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/100+ dot_skims['WLK_EXP_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, @@ -218,18 +218,18 @@ util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/100 + dot_skims['WLK_HVY_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/100 + dot_skims['WLK_HVY_DRV_XWAIT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/100 + dot_skims['WLK_HVY_DRV_DTIM']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/100 + dot_skims['WLK_HVY_DRV_WAUX']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/100+dot_skims['WLK_HVY_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, @@ -237,18 +237,18 @@ util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/100 + dot_skims['WLK_COM_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/100 + dot_skims['WLK_COM_DRV_XWAIT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/100 + dot_skims['WLK_COM_DRV_DTIM']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/100 + dot_skims['WLK_COM_DRV_WAUX']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/100+dot_skims['WLK_COM_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/100 + dot_skims['WLK_COM_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, @@ -336,9 +336,9 @@ util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_AS util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-df.distance/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, #, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.distance_walk_od > 3,,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.distance_bike_od > 8,,,,,,,,-999,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, #, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv index 0177f286e..3ef95955f 100644 --- a/activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/example_mtc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -75,18 +75,18 @@ local,_DF_IS_TOUR,'tour_type' in df.columns ,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 ,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) ,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/100>0) -,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100)>0) -,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100)>0) -,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100)>0) -,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100)>0) -,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) -,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/100>0) -,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100)>0) -,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100)>0) -,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100)>0) -,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100)>0) -,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) #,, destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, df[dest_col_name]) < setting('cbd_threshold')) * 1" #,,FIXME diagnostic diff --git a/activitysim/examples/example_mtc/configs/trip_destination.yaml b/activitysim/examples/example_mtc/configs/trip_destination.yaml index 8bac788cc..75d350a3c 100644 --- a/activitysim/examples/example_mtc/configs/trip_destination.yaml +++ b/activitysim/examples/example_mtc/configs/trip_destination.yaml @@ -18,7 +18,7 @@ DEST_CHOICE_SAMPLE_TABLE_NAME: trip_destination_sample # model-specific logsum-related settings TRIP_ORIGIN: origin ALT_DEST_COL_NAME: dest_taz -PRIMARY_DEST: destination +PRIMARY_DEST: tour_leg_dest # must be created in preprocessor # tour_mode is already in trips table, so we don't need it from tours # (it is assigned in trip_destination_annotate_trips_preprocessor ) diff --git a/activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv index 0217a6855..1a1afb074 100644 --- a/activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_mtc/configs/trip_destination_annotate_trips_preprocessor.csv @@ -7,3 +7,4 @@ Description,Target,Expression #,,not needed as school is not chosen as an intermediate trip destination #,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" #,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" +,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice.csv b/activitysim/examples/example_mtc/configs/trip_mode_choice.csv index 7e15afc03..2da242e95 100644 --- a/activitysim/examples/example_mtc/configs/trip_mode_choice.csv +++ b/activitysim/examples/example_mtc/configs/trip_mode_choice.csv @@ -69,87 +69,87 @@ util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsi util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, #,Walk,,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * df.distance_walk_od.clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (df.distance_walk_od - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, #,Bike,,,,,,,,,,,,,,,,,,,,,, util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * df.distance_bike_od.clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (df.distance_bike_od-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, #,Walk to Local,,,,,,,,,,,,,,,,,,,,,, util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, #,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, #,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, #,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, #,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, @@ -161,27 +161,27 @@ util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densit util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/100)/ (df.distance),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/100)/ (df.distance),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, #,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, @@ -189,31 +189,31 @@ util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densi util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/100)/ df.distance,,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, #,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, @@ -221,29 +221,29 @@ util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densit util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, #,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, @@ -251,29 +251,29 @@ util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densit util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/100)/ df.distance,,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, #,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, @@ -281,29 +281,29 @@ util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densit util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, #,Taxi,,,,,,,,,,,,,,,,,,,,,, util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, @@ -398,8 +398,8 @@ util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode AS util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared #,#,,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (df.distance_walk_od > 3),,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (df.distance_bike_od > 8),,,,,,,,-999,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv index 12e97e304..b0b82a22b 100644 --- a/activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_mtc/configs/trip_mode_choice_annotate_trips_preprocessor.csv @@ -64,24 +64,24 @@ dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & l ,sovtoll_available,odt_skims['SOVTOLL_VTOLL']>0 ,hov2toll_available,odt_skims['HOV2TOLL_VTOLL']>0 ,hov3toll_available,odt_skims['HOV3TOLL_VTOLL']>0 -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) -,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/100>0) -,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/100>0) -,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/100>0) -,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/100>0) -,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) -,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/100>0) -,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/100>0) -,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/100>0) -,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/100>0) -,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/100>0) -,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/100>0) -,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/100>0) -,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/100>0) -,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/100>0) -,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/100>0) -,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/100>0) -,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/100>0) +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) ,drive_ferry_available,"np.where(df.outbound, _drive_ferry_available_outbound, _drive_ferry_available_inbound)" #,od_dist_walk,od_skims['DISTWALK'] #,do_dist_walk,od_skims.reverse('DISTWALK') diff --git a/activitysim/examples/example_mtc/test/regress/final_trips.csv b/activitysim/examples/example_mtc/test/regress/final_trips.csv index 6d46c978c..8be2b7a7c 100644 --- a/activitysim/examples/example_mtc/test/regress/final_trips.csv +++ b/activitysim/examples/example_mtc/test/regress/final_trips.csv @@ -62,9 +62,9 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 1368291613,4171620,1810015,school,1,False,1,16,8,171036451,home,,15,WALK_LOC,10.665116381563836 1368292281,4171622,1810015,shopping,1,True,1,19,16,171036535,shopping,,9,WALK,-2.394141994327624 1368292285,4171622,1810015,shopping,1,False,1,16,19,171036535,home,,15,WALK,-2.4219133842589526 -1368292377,4171623,1810015,atwork,1,True,1,9,21,171036547,atwork,,10,WALK_LOC,11.325349584465323 -1368292381,4171623,1810015,atwork,1,False,2,6,9,171036547,othmaint,58.62927983645812,10,WALK,11.51994996841233 -1368292382,4171623,1810015,atwork,2,False,2,21,6,171036547,work,,10,WALK_LOC,13.150719673582849 +1368292377,4171623,1810015,atwork,1,True,1,7,21,171036547,atwork,,10,WALK,13.897946303660285 +1368292381,4171623,1810015,atwork,1,False,2,6,7,171036547,othmaint,62.239483838845736,10,WALK,14.364186248721689 +1368292382,4171623,1810015,atwork,2,False,2,21,6,171036547,work,,10,WALK,12.200629295549986 1368292657,4171623,1810015,work,1,True,2,25,16,171036582,escort,30.234430836012045,8,WALK,9.029527074456235 1368292658,4171623,1810015,work,2,True,2,21,25,171036582,work,,8,WALK,2.001441630738205 1368292661,4171623,1810015,work,1,False,2,7,21,171036582,work,34.72578612209499,23,WALK,2.5646380272501803 diff --git a/activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv b/activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv index 621387555..db2275546 100644 --- a/activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv +++ b/activitysim/examples/example_multiple_zone/configs_2_zone/accessibility.csv @@ -21,12 +21,12 @@ auto off-peak total,auOpTotal,df.TOTEMP * _decay #,, assume peak outbound transit occurs in AM o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'AM')]" o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_XWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_WACC', 'AM')] + skim_od[('WLK_TRN_WLK_WAUX', 'AM')] + skim_od[('WLK_TRN_WLK_WEGR', 'AM')]" -o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 +o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR #,, assume peak inbound transit occurs in PM d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'PM')]" d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_XWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_WACC', 'PM')] + skim_do[('WLK_TRN_WLK_WAUX', 'PM')] + skim_do[('WLK_TRN_WLK_WEGR', 'PM')]" -d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 -peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do +d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) transit peak retail,trPkRetail,df.RETEMPN * _decay @@ -37,12 +37,12 @@ transit peak total,trPkTotal,df.TOTEMP * _decay #,, assume off-peak outbound transit occurs in the MD time period o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'MD')]" o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_WACC', 'MD')] + skim_od[('WLK_TRN_WLK_WAUX', 'MD')] + skim_od[('WLK_TRN_WLK_WEGR', 'MD')]" -o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 +o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR #,, assume off-peak inbound transit occurs in the MD time period d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'MD')]" d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_WACC', 'MD')] + skim_do[('WLK_TRN_WLK_WAUX', 'MD')] + skim_do[('WLK_TRN_WLK_WEGR', 'MD')]" -d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 -peak transit time,_trOpTime,_trOpTime_od + _trOpTime_do +d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trOpTime,(_trOpTime_od + _trOpTime_do).clip(0) #,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job #round trip path is available,_rt_available,(_trOpTime > 0) round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv index a14048401..4ce6c0f01 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv +++ b/activitysim/examples/example_multiple_zone/configs_3_zone/accessibility.csv @@ -23,7 +23,7 @@ auto off-peak total,auOpTotal,df.TOTEMP * _decay o-d peak transit time,_trPkTime_od,"tvpb.get_tvpb_best_transit_time(orig=df.orig, dest=df.dest, tod='AM')" #,, assume peak inbound transit occurs in PM o-d peak transit time,_trPkTime_do,"tvpb.get_tvpb_best_transit_time(orig=df.dest, dest=df.orig, tod='PM')" -peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do +peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) transit peak retail,trPkRetail,df.RETEMPN * _decay @@ -34,7 +34,7 @@ transit peak total,trPkTotal,df.TOTEMP * _decay ####,, assume off-peak inbound and outbound transit occurs in the MD time period o-d off-peak transit time,_trOpTime_od,"tvpb.get_tvpb_best_transit_time(orig=df.orig, dest=df.dest, tod='MD')" d-o off-peak transit time,_trOpTime_do,"tvpb.get_tvpb_best_transit_time(orig=df.dest, dest=df.orig, tod='MD')" -off-peak transit time,_trOpTime,_trOpTime_od + _trPkTime_do +off-peak transit time,_trOpTime,(_trOpTime_od + _trPkTime_do).clip(0) round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) transit off-peak retail,trOpRetail,df.RETEMPN * _decay diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv index 2779b8a25..0a3f574c2 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv +++ b/activitysim/examples/example_multiple_zone/configs_3_zone/annotate_persons_workplace.csv @@ -17,19 +17,19 @@ work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.wor ,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" #,,_roundtrip_transit_time_to_work ##### ,_IVT_SKIM,"skim_dict.get(('WLK_TRN_WLK_IVT', 'MD'))" -##### ,_transit_ivt_home_to_work,"_IVT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100" -##### ,_transit_ivt_work_to_home,"_IVT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_ivt_home_to_work,"_IVT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR" +##### ,_transit_ivt_work_to_home,"_IVT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) ##### ,_IWAIT_SKIM,"skim_dict.get(('WLK_TRN_WLK_IWAIT', 'MD'))" -##### ,_transit_iwait,"_IWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _IWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_iwait,"_IWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _IWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_XWAIT_SKIM,"skim_dict.get(('WLK_TRN_WLK_XWAIT', 'MD'))" -##### ,_transit_xwait,"_XWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _XWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_xwait,"_XWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _XWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_WAUX_SKIM,"skim_dict.get(('WLK_TRN_WLK_WAUX', 'MD'))" -##### ,_transit_waux,"_WAUX_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _WAUX_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_waux,"_WAUX_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _WAUX_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_WACC_SKIM,"skim_dict.get(('WLK_TRN_WLK_WACC', 'MD'))" -##### ,_transit_wacc,"_WACC_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _WACC_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_wacc,"_WACC_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _WACC_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_WEGR_SKIM,"skim_dict.get(('WLK_TRN_WLK_WEGR', 'MD'))" -##### ,_transit_wegr,"_WEGR_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _WEGR_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_wegr,"_WEGR_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _WEGR_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr ##### #,,work_auto_savings_ratio ##### ,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv index 351227284..7400587b6 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/example_multiple_zone/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -78,18 +78,18 @@ local,_DF_IS_TOUR,'tour_type' in df.columns ,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 ,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) ,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 -#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/100>0) -#,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100)>0) -#,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100)>0) -#,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100)>0) -#,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100)>0) -#,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) -#,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/100>0) -#,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100)>0) -#,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100)>0) -#,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100)>0) -#,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100)>0) -#,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) +#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) ,walk_transit_available,True ,drive_transit_available,True #,, diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv index 7cbc61621..4d0e2f39c 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_multiple_zone/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv @@ -81,24 +81,24 @@ dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & l ,sovtoll_available,odt_skims['SOVTOLL_VTOLL']>0 ,hov2toll_available,odt_skims['HOV2TOLL_VTOLL']>0 ,hov3toll_available,odt_skims['HOV3TOLL_VTOLL']>0 -#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) -#,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/100>0) -#,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/100>0) -#,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/100>0) -#,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/100>0) -#,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) -#,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/100>0) -#,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/100>0) -#,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/100>0) -#,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/100>0) -#,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/100>0) -#,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/100>0) -#,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/100>0) -#,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/100>0) -#,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/100>0) -#,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/100>0) -#,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/100>0) -#,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/100>0) +#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +#,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +#,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) #,drive_ferry_available,"np.where(df.outbound, _drive_ferry_available_outbound, _drive_ferry_available_inbound)" #,od_dist_walk,od_skims['DISTWALK'] #,do_dist_walk,od_skims.reverse('DISTWALK') diff --git a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv b/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv index 2572c99d9..a1a6e63b0 100644 --- a/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv +++ b/activitysim/examples/example_multiple_zone/configs_3_zone/tvpb_accessibility_tap_tap_.csv @@ -5,4 +5,4 @@ Description,Target,Expression ,_xwait,"out_of_vehicle_wait_time_weight * los.get_tappairs3d(df.btap, df.atap, df.tod, 'TRN_XWAIT_FAST')" ,_waux,"out_of_vehicle_walk_time_weight * los.get_tappairs3d(df.btap, df.atap, df.tod, 'TRN_WAUX_FAST')" ,_outOfVehicleTime,_iwait + _xwait + _waux -,transit_time,(_inVehicleTime + _outOfVehicleTime) / 100.0 +,transit_time,(_inVehicleTime + _outOfVehicleTime) / TRANSIT_SCALE_FACTOR diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv b/activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv index aa9af99e9..38d480be5 100644 --- a/activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv +++ b/activitysim/examples/example_multiple_zone/test/regress/final_tours_2_zone.csv @@ -1,115 +1,115 @@ tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose -1094132,26686,eatout,1,1,2,2,non_mandatory,1,7000.0,8000.0,26686,175.0,19.0,19.0,0.0,,15.629062503460995,WALK,4.871994501109852,,,0out_0in,eatout -1094154,26686,othmaint,1,1,1,2,non_mandatory,1,9000.0,8000.0,26686,113.0,12.0,13.0,1.0,,14.776029862164645,BIKE,1.8681013354742215,,,0out_0in,othmaint -1100640,26844,social,1,1,1,1,non_mandatory,1,7000.0,8000.0,26844,58.0,8.0,12.0,4.0,,14.569062067035372,WALK,2.4697470949563276,,,0out_1in,social -1136791,27726,othdiscr,1,1,1,1,non_mandatory,1,17000.0,10000.0,27726,56.0,8.0,10.0,2.0,,15.210389207218824,WALK_LRF,1.9629437367760907,,,0out_1in,othdiscr -1214658,29625,shopping,1,1,1,1,non_mandatory,1,16000.0,17000.0,29625,145.0,15.0,15.0,0.0,,13.917639604692425,WALK_LRF,2.3294492261730855,,,0out_0in,shopping -4594649,112064,othdiscr,1,1,2,2,non_mandatory,1,9000.0,16000.0,112064,114.0,12.0,14.0,2.0,,13.975392118925592,DRIVEALONEFREE,-0.196980580755357,,,0out_0in,othdiscr -4594657,112064,shopping,1,1,1,2,non_mandatory,1,11000.0,16000.0,112064,155.0,16.0,17.0,1.0,,12.654542351961295,WALK,-0.6137027897971015,,,0out_0in,shopping -10828426,264107,work,1,1,1,1,mandatory,1,15000.0,9000.0,226869,49.0,7.0,19.0,12.0,,,WALK_LRF,5.852076021113983,no_subtours,,0out_0in,work -10828453,264108,othdiscr,1,1,1,1,non_mandatory,1,2000.0,9000.0,226869,86.0,10.0,11.0,1.0,,15.155629215166487,WALK_LRF,2.6939204818996534,,,0out_1in,othdiscr +1094132,26686,eatout,1,1,2,2,non_mandatory,1,7000.0,8000.0,26686,175.0,19.0,19.0,0.0,,15.571618689147394,WALK,4.696089773072796,,,0out_0in,eatout +1094154,26686,othmaint,1,1,1,2,non_mandatory,1,9000.0,8000.0,26686,113.0,12.0,13.0,1.0,,14.768882236372544,BIKE,1.8681013354742213,,,0out_0in,othmaint +1100640,26844,social,1,1,1,1,non_mandatory,1,7000.0,8000.0,26844,58.0,8.0,12.0,4.0,,14.566226227301671,WALK,2.3971996226244454,,,0out_1in,social +1136791,27726,othdiscr,1,1,1,1,non_mandatory,1,17000.0,10000.0,27726,56.0,8.0,10.0,2.0,,15.219575637063269,WALK_LRF,1.962943736776091,,,0out_1in,othdiscr +1214658,29625,shopping,1,1,1,1,non_mandatory,1,16000.0,17000.0,29625,145.0,15.0,15.0,0.0,,13.920232108204546,WALK_LRF,2.347375316107423,,,0out_0in,shopping +4594649,112064,othdiscr,1,1,2,2,non_mandatory,1,9000.0,16000.0,112064,114.0,12.0,14.0,2.0,,13.96458148150002,DRIVEALONEFREE,-0.1912982156718468,,,0out_0in,othdiscr +4594657,112064,shopping,1,1,1,2,non_mandatory,1,11000.0,16000.0,112064,155.0,16.0,17.0,1.0,,12.64809824515548,WALK,-0.6137027897971015,,,0out_0in,shopping +10828426,264107,work,1,1,1,1,mandatory,1,15000.0,9000.0,226869,49.0,7.0,19.0,12.0,,,WALK_LRF,5.8471129413966,no_subtours,,0out_0in,work +10828453,264108,othdiscr,1,1,1,1,non_mandatory,1,2000.0,9000.0,226869,86.0,10.0,11.0,1.0,,15.147286912583295,WALK_LRF,2.687064756639405,,,0out_1in,othdiscr 13271288,323689,work,1,1,1,1,mandatory,1,12000.0,10000.0,256660,110.0,11.0,22.0,11.0,,,WALK_LRF,5.412375093576443,no_subtours,,0out_0in,work -13342710,325431,work,1,1,1,1,mandatory,1,2000.0,16000.0,257531,47.0,7.0,17.0,10.0,,,TNC_SINGLE,5.978763988078055,no_subtours,,1out_3in,work -13342745,325432,shopping,1,1,1,1,non_mandatory,1,16000.0,16000.0,257531,113.0,12.0,13.0,1.0,,13.946558403927142,TAXI,2.291129079425163,,,0out_0in,shopping -24423157,595686,school,1,1,1,1,mandatory,1,8000.0,21000.0,370497,46.0,7.0,16.0,9.0,,,WALK_LOC,19.491065325432032,,,0out_0in,school -26415929,644290,work,1,1,1,1,mandatory,1,15000.0,7000.0,386699,120.0,12.0,20.0,8.0,,,WALK_LOC,5.317189317596288,no_subtours,,0out_0in,work -26415959,644291,othmaint,1,1,1,1,non_mandatory,1,5000.0,7000.0,386699,179.0,19.0,23.0,4.0,,14.895762633410888,TNC_SINGLE,2.2474868864771897,,,0out_0in,othmaint -26415970,644291,work,1,1,1,1,mandatory,1,16000.0,7000.0,386699,47.0,7.0,17.0,10.0,,,WALK_LOC,5.341486030293974,no_subtours,,0out_0in,work -26416003,644292,school,1,1,1,1,mandatory,1,8000.0,7000.0,386699,63.0,8.0,17.0,9.0,,,WALK,18.40789860586593,,,0out_1in,school -26423525,644476,escort,1,1,1,3,non_mandatory,1,13000.0,16000.0,386761,1.0,5.0,6.0,1.0,,12.581876553213043,TNC_SINGLE,-0.46396326059485016,,,0out_0in,escort -26423541,644476,othdiscr,1,1,3,3,non_mandatory,1,16000.0,16000.0,386761,169.0,18.0,18.0,0.0,,14.498085969309562,WALK,1.901940250188323,,,0out_0in,othdiscr -26423544,644476,othmaint,1,1,2,3,non_mandatory,1,17000.0,16000.0,386761,170.0,18.0,19.0,1.0,,14.068392638775942,WALK,0.9056380321032911,,,0out_0in,othmaint +13342710,325431,work,1,1,1,1,mandatory,1,2000.0,16000.0,257531,47.0,7.0,17.0,10.0,,,TNC_SINGLE,5.944780818287768,no_subtours,,1out_3in,work +13342745,325432,shopping,1,1,1,1,non_mandatory,1,16000.0,16000.0,257531,113.0,12.0,13.0,1.0,,13.944106686960234,TAXI,2.291129079425163,,,0out_0in,shopping +24423157,595686,school,1,1,1,1,mandatory,1,8000.0,21000.0,370497,46.0,7.0,16.0,9.0,,,WALK_LOC,19.48702945868035,,,0out_0in,school +26415929,644290,work,1,1,1,1,mandatory,1,15000.0,7000.0,386699,120.0,12.0,20.0,8.0,,,WALK_LOC,5.334455039205838,no_subtours,,0out_0in,work +26415959,644291,othmaint,1,1,1,1,non_mandatory,1,5000.0,7000.0,386699,179.0,19.0,23.0,4.0,,14.907716944334291,TNC_SINGLE,2.261313926535724,,,0out_0in,othmaint +26415970,644291,work,1,1,1,1,mandatory,1,16000.0,7000.0,386699,47.0,7.0,17.0,10.0,,,BIKE,5.359690496596561,no_subtours,,0out_0in,work +26416003,644292,school,1,1,1,1,mandatory,1,8000.0,7000.0,386699,63.0,8.0,17.0,9.0,,,WALK,18.490744676608564,,,0out_1in,school +26423525,644476,escort,1,1,1,3,non_mandatory,1,13000.0,16000.0,386761,1.0,5.0,6.0,1.0,,12.580679005044448,TNC_SINGLE,-0.4730064864579607,,,0out_0in,escort +26423541,644476,othdiscr,1,1,3,3,non_mandatory,1,16000.0,16000.0,386761,169.0,18.0,18.0,0.0,,14.492065906423075,WALK,1.901940250188323,,,0out_0in,othdiscr +26423544,644476,othmaint,1,1,2,3,non_mandatory,1,17000.0,16000.0,386761,170.0,18.0,19.0,1.0,,14.044888340516325,WALK,0.8670492236443096,,,0out_0in,othmaint 26423555,644476,work,1,1,1,1,mandatory,1,12000.0,16000.0,386761,47.0,7.0,17.0,10.0,,,SHARED3FREE,1.6248633577252904,no_subtours,,0out_0in,work -26423590,644477,shopping,1,1,1,1,non_mandatory,1,11000.0,16000.0,386761,135.0,14.0,14.0,0.0,,13.615549648489521,DRIVEALONEFREE,0.7877742811445714,,,0out_0in,shopping -26423629,644478,school,1,1,1,1,mandatory,1,22000.0,16000.0,386761,62.0,8.0,16.0,8.0,,,WALK_LOC,1.322927918310579,,,0out_0in,school -51901843,1265898,othdiscr,1,1,1,1,non_mandatory,1,9000.0,17000.0,568785,81.0,9.0,20.0,11.0,,13.823065209072862,WALK_LRF,-0.7957790192595712,,,0out_0in,othdiscr -58514946,1427193,shopping,1,1,1,1,non_mandatory,1,16000.0,25000.0,703381,130.0,13.0,19.0,6.0,,12.539537379821486,WALK,-1.0701982670457384,,,0out_0in,shopping -58514982,1427194,othmaint,1,1,1,2,non_mandatory,1,25000.0,25000.0,703381,43.0,7.0,13.0,6.0,,13.763767397598594,WALK,0.7102432373197154,,,0out_0in,othmaint -58514990,1427194,social,1,1,2,2,non_mandatory,1,9000.0,25000.0,703381,160.0,16.0,22.0,6.0,,13.62987361917643,WALK,-0.8937047281583442,,,1out_2in,social -64479052,1572659,shopping,1,1,1,1,non_mandatory,1,19000.0,6000.0,763879,50.0,7.0,20.0,13.0,,12.695715253373839,TNC_SINGLE,-1.5645514284693098,,,3out_0in,shopping -64490158,1572930,othmaint,1,1,2,2,non_mandatory,1,14000.0,9000.0,764150,57.0,8.0,11.0,3.0,,13.878699453852052,WALK_LRF,-0.810676914218516,,,1out_1in,othmaint -64490163,1572930,shopping,1,1,1,2,non_mandatory,1,21000.0,9000.0,764150,104.0,11.0,16.0,5.0,,12.65685901554766,WALK,-0.6994933804729314,,,0out_0in,shopping -66923525,1632281,eat,1,1,1,1,atwork,1,5000.0,14000.0,823501,125.0,13.0,14.0,1.0,,15.588378354596971,WALK,5.677925288598001,,66923560.0,1out_0in,atwork +26423590,644477,shopping,1,1,1,1,non_mandatory,1,12000.0,16000.0,386761,135.0,14.0,14.0,0.0,,13.610828294414992,DRIVEALONEFREE,1.207420121880768,,,0out_0in,shopping +26423629,644478,school,1,1,1,1,mandatory,1,22000.0,16000.0,386761,62.0,8.0,16.0,8.0,,,WALK_LOC,1.391947303542287,,,0out_0in,school +51901843,1265898,othdiscr,1,1,1,1,non_mandatory,1,9000.0,17000.0,568785,81.0,9.0,20.0,11.0,,13.827032550199103,WALK_LRF,-0.7941238057982032,,,0out_0in,othdiscr +58514946,1427193,shopping,1,1,1,1,non_mandatory,1,16000.0,25000.0,703381,130.0,13.0,19.0,6.0,,12.523150856688828,WALK,-1.1307531749443571,,,0out_0in,shopping +58514982,1427194,othmaint,1,1,1,2,non_mandatory,1,25000.0,25000.0,703381,43.0,7.0,13.0,6.0,,13.741081970110171,WALK,0.7102432373197154,,,0out_0in,othmaint +58514990,1427194,social,1,1,2,2,non_mandatory,1,11000.0,25000.0,703381,160.0,16.0,22.0,6.0,,13.587548572119903,WALK,-0.3434452146802574,,,1out_2in,social +64479052,1572659,shopping,1,1,1,1,non_mandatory,1,19000.0,6000.0,763879,50.0,7.0,20.0,13.0,,12.695032127873429,TNC_SINGLE,-1.5395149128365382,,,3out_0in,shopping +64490158,1572930,othmaint,1,1,2,2,non_mandatory,1,14000.0,9000.0,764150,57.0,8.0,11.0,3.0,,13.876979292356584,WALK_LRF,-0.8284966847360843,,,1out_1in,othmaint +64490163,1572930,shopping,1,1,1,2,non_mandatory,1,21000.0,9000.0,764150,104.0,11.0,16.0,5.0,,12.652319439420722,WALK,-0.7117743765170423,,,0out_0in,shopping +66923525,1632281,eat,1,1,1,1,atwork,1,5000.0,14000.0,823501,125.0,13.0,14.0,1.0,,15.582337201253203,WALK,5.627962154350834,,66923560.0,1out_0in,atwork 66923560,1632281,work,1,1,1,1,mandatory,1,14000.0,12000.0,823501,49.0,7.0,19.0,12.0,,,TNC_SINGLE,5.653100213975966,eat,,0out_0in,work -66952506,1632987,work,1,1,1,1,mandatory,1,16000.0,18000.0,824207,151.0,15.0,21.0,6.0,,,WALK_LRF,6.233262399892719,no_subtours,,0out_0in,work -76904600,1875721,work,1,1,1,1,mandatory,1,4000.0,16000.0,982875,64.0,8.0,18.0,10.0,,,WALK_LOC,1.7827178913694965,no_subtours,,0out_0in,work -76904608,1875722,eatout,1,1,1,1,non_mandatory,1,17000.0,16000.0,982875,91.0,10.0,16.0,6.0,,14.235115756107048,WALK,2.507760460572675,,,1out_0in,eatout -88521376,2159057,work,1,1,1,1,mandatory,1,21000.0,20000.0,1099626,48.0,7.0,18.0,11.0,,,WALK,0.05263056986729739,no_subtours,,0out_0in,work -88521409,2159058,school,1,1,1,1,mandatory,1,10000.0,20000.0,1099626,145.0,15.0,15.0,0.0,,,WALK_LOC,0.6982909671324414,,,0out_0in,univ -88521450,2159059,school,1,1,1,1,mandatory,1,11000.0,20000.0,1099626,58.0,8.0,12.0,4.0,,,WALK,-0.5932877868077053,,,0out_0in,school -100798519,2458502,shopping,1,1,1,1,joint,2,5000.0,8000.0,1173905,54.0,8.0,8.0,0.0,children,12.846848723571744,SHARED2FREE,-0.5111781667673684,,,0out_0in,shopping -100798528,2458500,othmaint,1,1,1,1,non_mandatory,1,9000.0,8000.0,1173905,120.0,12.0,20.0,8.0,,13.946561117649987,WALK,-0.05341460237381546,,,0out_0in,othmaint -100798550,2458501,escort,1,1,1,1,non_mandatory,1,17000.0,8000.0,1173905,146.0,15.0,16.0,1.0,,12.454558731472828,WALK_LRF,-1.9849259595631898,,,0out_0in,escort +66952506,1632987,work,1,1,1,1,mandatory,1,16000.0,18000.0,824207,151.0,15.0,21.0,6.0,,,WALK_LRF,6.2340129631084364,no_subtours,,0out_0in,work +76904600,1875721,work,1,1,1,1,mandatory,1,4000.0,16000.0,982875,64.0,8.0,18.0,10.0,,,WALK_LOC,1.7401076153698884,no_subtours,,0out_0in,work +76904608,1875722,eatout,1,1,1,1,non_mandatory,1,17000.0,16000.0,982875,91.0,10.0,16.0,6.0,,14.206952836182584,WALK,2.455435658701909,,,1out_0in,eatout +88521376,2159057,work,1,1,1,1,mandatory,1,21000.0,20000.0,1099626,48.0,7.0,18.0,11.0,,,WALK,0.012760765917479,no_subtours,,0out_0in,work +88521409,2159058,school,1,1,1,1,mandatory,1,10000.0,20000.0,1099626,145.0,15.0,15.0,0.0,,,WALK_LOC,0.7098750900924855,,,0out_0in,univ +88521450,2159059,school,1,1,1,1,mandatory,1,11000.0,20000.0,1099626,58.0,8.0,12.0,4.0,,,WALK,-0.6251066468993006,,,0out_0in,school +100798519,2458502,shopping,1,1,1,1,joint,2,5000.0,8000.0,1173905,54.0,8.0,8.0,0.0,children,12.849118307199914,SHARED2FREE,-0.5111781667673684,,,0out_0in,shopping +100798528,2458500,othmaint,1,1,1,1,non_mandatory,1,9000.0,8000.0,1173905,120.0,12.0,20.0,8.0,,13.933008315199084,WALK,-0.0534146023738154,,,0out_0in,othmaint +100798550,2458501,escort,1,1,1,1,non_mandatory,1,17000.0,8000.0,1173905,146.0,15.0,16.0,1.0,,12.452436194889506,WALK_LRF,-2.030352537291469,,,0out_0in,escort 100798613,2458502,school,1,1,1,1,mandatory,1,8000.0,8000.0,1173905,64.0,8.0,18.0,10.0,,,WALK,0.1992035348928025,,,1out_0in,school 100798654,2458503,school,1,1,1,1,mandatory,1,8000.0,8000.0,1173905,60.0,8.0,14.0,6.0,,,WALK,0.2156875433576043,,,0out_0in,school -105234657,2566698,work,1,1,1,1,mandatory,1,2000.0,25000.0,1196298,31.0,6.0,18.0,12.0,,,TNC_SINGLE,6.240670336457528,no_subtours,,0out_0in,work -105234731,2566700,school,1,1,1,1,mandatory,1,5000.0,25000.0,1196298,45.0,7.0,15.0,8.0,,,WALK_LOC,18.864608974906524,,,0out_0in,school -105234772,2566701,school,1,1,1,1,mandatory,1,8000.0,25000.0,1196298,59.0,8.0,13.0,5.0,,,WALK_LOC,18.1709632186818,,,0out_0in,school +105234657,2566698,work,1,1,1,1,mandatory,1,4000.0,25000.0,1196298,31.0,6.0,18.0,12.0,,,TNC_SINGLE,6.107069922545076,no_subtours,,0out_0in,work +105234731,2566700,school,1,1,1,1,mandatory,1,5000.0,25000.0,1196298,45.0,7.0,15.0,8.0,,,WALK_LOC,18.8018497500704,,,0out_0in,school +105234772,2566701,school,1,1,1,1,mandatory,1,8000.0,25000.0,1196298,59.0,8.0,13.0,5.0,,,WALK_LOC,18.17212469299042,,,0out_0in,school 105234813,2566702,school,1,1,1,1,mandatory,1,25000.0,25000.0,1196298,120.0,12.0,20.0,8.0,,,WALK,18.287824829249224,,,0out_0in,school -120398575,2936550,othdiscr,1,1,2,2,non_mandatory,1,9000.0,8000.0,1286259,138.0,14.0,17.0,3.0,,15.315460605332909,WALK,2.877251787073315,,,0out_0in,othdiscr -120398583,2936550,shopping,1,1,1,2,non_mandatory,1,19000.0,8000.0,1286259,113.0,12.0,13.0,1.0,,14.032470024321878,WALK,1.6307976589413862,,,0out_0in,shopping -120410774,2936848,eatout,1,1,2,2,non_mandatory,1,6000.0,11000.0,1286557,136.0,14.0,15.0,1.0,,13.382868265266877,DRIVEALONEFREE,0.5446813508509882,,,0out_0in,eatout -120410793,2936848,othdiscr,1,1,1,2,non_mandatory,1,25000.0,11000.0,1286557,146.0,15.0,16.0,1.0,,13.997426838546323,DRIVEALONEFREE,0.028425198639550394,,,1out_0in,othdiscr -125537687,3061894,shopping,1,1,1,1,non_mandatory,1,5000.0,24000.0,1363467,113.0,12.0,13.0,1.0,,12.664666124363452,WALK,0.1823913190242931,,,0out_0in,shopping -125537720,3061895,othdiscr,1,1,2,2,non_mandatory,1,9000.0,24000.0,1363467,164.0,17.0,19.0,2.0,,13.845872824620375,WALK_HVY,0.10438739772192192,,,0out_0in,othdiscr -125537723,3061895,othmaint,1,1,1,2,non_mandatory,1,4000.0,24000.0,1363467,146.0,15.0,16.0,1.0,,13.835859917004793,WALK,0.41784120933583097,,,0out_0in,othmaint -125537734,3061895,work,1,1,1,1,mandatory,1,2000.0,24000.0,1363467,26.0,6.0,13.0,7.0,,,WALK,0.42237623828957194,no_subtours,,0out_0in,work -130727777,3188483,othdiscr,1,1,1,1,joint,3,3000.0,25000.0,1402945,70.0,9.0,9.0,0.0,adults,14.5205519788049,WALK,-2.193653933334519,,,0out_0in,othdiscr -130727801,3188482,work,1,1,1,1,mandatory,1,14000.0,25000.0,1402945,63.0,8.0,17.0,9.0,,,WALK,1.5085227472982612,no_subtours,,1out_0in,work -130727842,3188483,work,1,1,1,1,mandatory,1,15000.0,25000.0,1402945,77.0,9.0,16.0,7.0,,,WALK_LOC,1.513891572622095,no_subtours,,0out_0in,work -130727875,3188484,school,1,1,2,2,mandatory,1,12000.0,25000.0,1402945,154.0,16.0,16.0,0.0,,,WALK,3.3294201118074787,,,0out_1in,univ -130727883,3188484,work,1,1,1,2,mandatory,1,5000.0,25000.0,1402945,71.0,9.0,10.0,1.0,,,WALK_LOC,2.2243257895390456,no_subtours,,0out_0in,work -130727924,3188485,work,1,1,1,1,mandatory,1,1000.0,25000.0,1402945,96.0,10.0,21.0,11.0,,,WALK_LOC,1.8069075245152193,no_subtours,,1out_1in,work -132571948,3233462,eatout,1,1,3,3,non_mandatory,1,13000.0,17000.0,1445222,146.0,15.0,16.0,1.0,,15.078821449859056,WALK,3.6264198377172616,,,0out_0in,eatout -132571975,3233462,shopping,2,1,1,3,non_mandatory,1,16000.0,17000.0,1445222,162.0,17.0,17.0,0.0,,14.056468843746693,WALK_LRF,2.5696688918913253,,,0out_0in,shopping -132571976,3233462,shopping,2,2,2,3,non_mandatory,1,16000.0,17000.0,1445222,180.0,20.0,20.0,0.0,,14.099188998867923,WALK_LRF,2.5696688918913253,,,0out_0in,shopping +120398575,2936550,othdiscr,1,1,2,2,non_mandatory,1,9000.0,8000.0,1286259,138.0,14.0,17.0,3.0,,15.306913600557026,WALK,2.877251787073315,,,0out_0in,othdiscr +120398583,2936550,shopping,1,1,1,2,non_mandatory,1,19000.0,8000.0,1286259,113.0,12.0,13.0,1.0,,14.03328125196174,WALK,1.647169235142118,,,0out_0in,shopping +120410774,2936848,eatout,1,1,2,2,non_mandatory,1,6000.0,11000.0,1286557,136.0,14.0,15.0,1.0,,13.385908233280974,DRIVEALONEFREE,0.5446813508509882,,,0out_0in,eatout +120410793,2936848,othdiscr,1,1,1,2,non_mandatory,1,25000.0,11000.0,1286557,146.0,15.0,16.0,1.0,,13.998407599705123,DRIVEALONEFREE,0.0531249030428947,,,1out_0in,othdiscr +125537687,3061894,shopping,1,1,1,1,non_mandatory,1,5000.0,24000.0,1363467,113.0,12.0,13.0,1.0,,12.67844496957057,WALK,0.1794050478758298,,,0out_0in,shopping +125537720,3061895,othdiscr,1,1,2,2,non_mandatory,1,9000.0,24000.0,1363467,164.0,17.0,19.0,2.0,,13.855717382920384,WALK_HVY,0.1180104930269069,,,0out_0in,othdiscr +125537723,3061895,othmaint,1,1,1,2,non_mandatory,1,4000.0,24000.0,1363467,146.0,15.0,16.0,1.0,,13.843895836691548,WALK,0.4346074611532325,,,0out_0in,othmaint +125537734,3061895,work,1,1,1,1,mandatory,1,2000.0,24000.0,1363467,26.0,6.0,13.0,7.0,,,WALK,0.4289367938120317,no_subtours,,0out_0in,work +130727777,3188483,othdiscr,1,1,1,1,joint,3,3000.0,25000.0,1402945,70.0,9.0,9.0,0.0,adults,14.490562913707262,WALK,-2.2237959104289464,,,0out_0in,othdiscr +130727801,3188482,work,1,1,1,1,mandatory,1,14000.0,25000.0,1402945,63.0,8.0,17.0,9.0,,,WALK,1.470809103053866,no_subtours,,1out_0in,work +130727842,3188483,work,1,1,1,1,mandatory,1,15000.0,25000.0,1402945,77.0,9.0,16.0,7.0,,,WALK_LOC,1.476215281092868,no_subtours,,0out_0in,work +130727875,3188484,school,1,1,2,2,mandatory,1,12000.0,25000.0,1402945,154.0,16.0,16.0,0.0,,,WALK,3.3072495217751663,,,0out_1in,univ +130727883,3188484,work,1,1,1,2,mandatory,1,5000.0,25000.0,1402945,71.0,9.0,10.0,1.0,,,WALK_LOC,2.1088774790757463,no_subtours,,0out_0in,work +130727924,3188485,work,1,1,1,1,mandatory,1,1000.0,25000.0,1402945,96.0,10.0,21.0,11.0,,,WALK_LOC,1.7666619623619302,no_subtours,,1out_1in,work +132571948,3233462,eatout,1,1,3,3,non_mandatory,1,13000.0,17000.0,1445222,146.0,15.0,16.0,1.0,,15.090110400259128,WALK,3.6847853902920167,,,0out_0in,eatout +132571975,3233462,shopping,2,1,1,3,non_mandatory,1,16000.0,17000.0,1445222,162.0,17.0,17.0,0.0,,14.059936928241624,WALK_LRF,2.5837938479671587,,,0out_0in,shopping +132571976,3233462,shopping,2,2,2,3,non_mandatory,1,16000.0,17000.0,1445222,180.0,20.0,20.0,0.0,,14.104382570558746,WALK_LRF,2.5837938479671587,,,0out_0in,shopping 132571981,3233462,work,1,1,1,1,mandatory,1,17000.0,17000.0,1445222,61.0,8.0,15.0,7.0,,,TNC_SINGLE,5.877421969414272,no_subtours,,0out_0in,work -136471327,3328568,work,1,1,1,1,mandatory,1,24000.0,8000.0,1511234,30.0,6.0,17.0,11.0,,,WALK,5.368643672974025,no_subtours,,0out_0in,work -136471335,3328569,eatout,1,1,2,2,non_mandatory,1,12000.0,8000.0,1511234,137.0,14.0,16.0,2.0,,15.389937552598843,WALK,3.759524502062821,,,0out_0in,eatout -136471362,3328569,shopping,1,1,1,2,non_mandatory,1,22000.0,8000.0,1511234,85.0,10.0,10.0,0.0,,13.854686268549477,WALK_LRF,2.508531690353385,,,1out_0in,shopping -143309047,3495342,othdiscr,1,1,1,1,non_mandatory,1,5000.0,10000.0,1594621,160.0,16.0,22.0,6.0,,15.269292293500877,TNC_SINGLE,2.4579339957345647,,,0out_0in,othdiscr -143309061,3495342,work,1,1,1,1,mandatory,1,9000.0,10000.0,1594621,46.0,7.0,16.0,9.0,,,WALK_LOC,6.275218459172116,no_subtours,,0out_0in,work -143309063,3495343,business,1,1,1,1,atwork,1,2000.0,4000.0,1594621,113.0,12.0,13.0,1.0,,15.8252181883473,WALK,6.580656794975509,,143309102.0,0out_0in,atwork -143309102,3495343,work,1,1,1,1,mandatory,1,4000.0,10000.0,1594621,121.0,12.0,21.0,9.0,,,BIKE,6.257053370339573,business1,,0out_0in,work -147450930,3596364,eatout,1,1,2,2,non_mandatory,1,4000.0,9000.0,1645132,135.0,14.0,14.0,0.0,,15.107102132987809,WALK,3.61104105227694,,,0out_0in,eatout -147450957,3596364,shopping,1,1,1,2,non_mandatory,1,16000.0,9000.0,1645132,176.0,19.0,20.0,1.0,,14.143501841329249,WALK_LRF,2.5463952974173196,,,0out_2in,shopping -147451001,3596365,social,1,1,1,1,non_mandatory,1,2000.0,9000.0,1645132,48.0,7.0,18.0,11.0,,14.317405621701432,WALK_HVY,1.9671517653273487,,,0out_0in,social +136471327,3328568,work,1,1,1,1,mandatory,1,24000.0,8000.0,1511234,30.0,6.0,17.0,11.0,,,WALK,5.344275402136274,no_subtours,,0out_0in,work +136471335,3328569,eatout,1,1,2,2,non_mandatory,1,12000.0,8000.0,1511234,137.0,14.0,16.0,2.0,,15.367595661788725,WALK,3.727956894049009,,,0out_0in,eatout +136471362,3328569,shopping,1,1,1,2,non_mandatory,1,22000.0,8000.0,1511234,85.0,10.0,10.0,0.0,,13.843599236608394,WALK_LRF,2.510234612682991,,,1out_0in,shopping +143309047,3495342,othdiscr,1,1,1,1,non_mandatory,1,5000.0,10000.0,1594621,160.0,16.0,22.0,6.0,,15.285694820888375,TNC_SINGLE,2.491041058080956,,,0out_0in,othdiscr +143309061,3495342,work,1,1,1,1,mandatory,1,9000.0,10000.0,1594621,46.0,7.0,16.0,9.0,,,WALK_LOC,6.301450545472567,no_subtours,,0out_0in,work +143309063,3495343,business,1,1,1,1,atwork,1,2000.0,4000.0,1594621,113.0,12.0,13.0,1.0,,15.82682327577391,WALK,6.559454972331423,,143309102.0,0out_0in,atwork +143309102,3495343,work,1,1,1,1,mandatory,1,4000.0,10000.0,1594621,121.0,12.0,21.0,9.0,,,BIKE,6.260279805434568,business1,,0out_0in,work +147450930,3596364,eatout,1,1,2,2,non_mandatory,1,4000.0,9000.0,1645132,135.0,14.0,14.0,0.0,,15.090495627286336,WALK,3.5976044797467006,,,0out_0in,eatout +147450957,3596364,shopping,1,1,1,2,non_mandatory,1,16000.0,9000.0,1645132,176.0,19.0,20.0,1.0,,14.141390929727727,WALK_LRF,2.5450498436643456,,,0out_2in,shopping +147451001,3596365,social,1,1,1,1,non_mandatory,1,2000.0,9000.0,1645132,48.0,7.0,18.0,11.0,,14.31414778668983,WALK_HVY,1.9634538580397207,,,0out_0in,social 159535221,3891102,work,1,1,1,1,mandatory,1,16000.0,16000.0,1747467,46.0,7.0,16.0,9.0,,,WALK,6.0209119268256845,no_subtours,,0out_0in,work -159535256,3891103,shopping,1,1,1,1,non_mandatory,1,11000.0,16000.0,1747467,127.0,13.0,16.0,3.0,,14.127933345341821,WALK,2.057932115988009,,,0out_0in,shopping -159535289,3891104,othdiscr,2,1,1,2,non_mandatory,1,23000.0,16000.0,1747467,136.0,14.0,15.0,1.0,,15.290751364302913,WALK,2.609549653434048,,,0out_0in,othdiscr -159535290,3891104,othdiscr,2,2,2,2,non_mandatory,1,12000.0,16000.0,1747467,159.0,16.0,21.0,5.0,,15.300736230802341,WALK,2.430809471509179,,,0out_0in,othdiscr -159535295,3891104,school,1,1,1,1,mandatory,1,11000.0,16000.0,1747467,44.0,7.0,14.0,7.0,,,WALK_LOC,18.547431187904532,,,0out_0in,school -171036246,4171615,school,1,1,1,1,mandatory,1,12000.0,16000.0,1810015,124.0,13.0,13.0,0.0,,,WALK,2.9751655865930506,,,0out_0in,univ -171036284,4171616,othmaint,1,1,1,1,non_mandatory,1,16000.0,16000.0,1810015,72.0,9.0,11.0,2.0,,14.065422875227199,WALK,0.9584743059736855,,,0out_0in,othmaint -171036336,4171617,work,1,1,1,1,mandatory,1,13000.0,16000.0,1810015,79.0,9.0,18.0,9.0,,,WALK,1.7790721762396318,no_subtours,,1out_0in,work -171036412,4171619,shopping,1,1,1,1,non_mandatory,1,16000.0,16000.0,1810015,126.0,13.0,15.0,2.0,,13.426984117153099,WALK,1.7788863352606716,,,0out_1in,shopping +159535256,3891103,shopping,1,1,1,1,non_mandatory,1,11000.0,16000.0,1747467,127.0,13.0,16.0,3.0,,14.122504510407587,WALK,2.057932115988009,,,0out_0in,shopping +159535289,3891104,othdiscr,2,1,1,2,non_mandatory,1,23000.0,16000.0,1747467,136.0,14.0,15.0,1.0,,15.278140201698037,WALK,2.573500098514156,,,0out_0in,othdiscr +159535290,3891104,othdiscr,2,2,2,2,non_mandatory,1,12000.0,16000.0,1747467,159.0,16.0,21.0,5.0,,15.288617125591468,WALK,2.430809471509179,,,0out_0in,othdiscr +159535295,3891104,school,1,1,1,1,mandatory,1,11000.0,16000.0,1747467,44.0,7.0,14.0,7.0,,,WALK_LOC,18.54743118790453,,,0out_0in,school +171036246,4171615,school,1,1,1,1,mandatory,1,12000.0,16000.0,1810015,124.0,13.0,13.0,0.0,,,WALK,2.97516558659305,,,0out_0in,univ +171036284,4171616,othmaint,1,1,1,1,non_mandatory,1,16000.0,16000.0,1810015,72.0,9.0,11.0,2.0,,14.053531251612876,WALK,0.9584743059736855,,,0out_0in,othmaint +171036336,4171617,work,1,1,1,1,mandatory,1,13000.0,16000.0,1810015,79.0,9.0,18.0,9.0,,,WALK,1.7528651433593307,no_subtours,,1out_0in,work +171036412,4171619,shopping,1,1,1,1,non_mandatory,1,16000.0,16000.0,1810015,126.0,13.0,15.0,2.0,,13.41452174498118,WALK,1.7788863352606716,,,0out_1in,shopping 171036451,4171620,school,1,1,1,1,mandatory,1,16000.0,16000.0,1810015,45.0,7.0,15.0,8.0,,,WALK,2.5473459565044934,,,0out_0in,school -171036535,4171622,shopping,1,1,1,1,non_mandatory,1,23000.0,16000.0,1810015,76.0,9.0,15.0,6.0,,13.456465590507324,WALK,0.6920005321337984,,,0out_0in,shopping -171036547,4171623,eat,1,1,1,1,atwork,1,1000.0,24000.0,1810015,85.0,10.0,10.0,0.0,,12.65239312233858,WALK,0.08593379846426913,,171036582.0,0out_1in,atwork -171036582,4171623,work,1,1,1,1,mandatory,1,24000.0,16000.0,1810015,68.0,8.0,22.0,14.0,,,WALK,1.67204671205642,eat,,1out_1in,work -197775705,4823797,othmaint,1,1,1,1,non_mandatory,1,13000.0,14000.0,1952792,71.0,9.0,10.0,1.0,,13.837431925136897,WALK,-0.113576708001807,,,0out_0in,othmaint +171036535,4171622,shopping,1,1,1,1,non_mandatory,1,23000.0,16000.0,1810015,76.0,9.0,15.0,6.0,,13.433853818799063,WALK,0.5984385030329018,,,0out_0in,shopping +171036547,4171623,eat,1,1,1,1,atwork,1,1000.0,24000.0,1810015,85.0,10.0,10.0,0.0,,12.669943949317842,WALK,0.125525908961687,,171036582.0,0out_1in,atwork +171036582,4171623,work,1,1,1,1,mandatory,1,24000.0,16000.0,1810015,68.0,8.0,22.0,14.0,,,WALK,1.574707615447066,eat,,1out_1in,work +197775705,4823797,othmaint,1,1,1,1,non_mandatory,1,13000.0,14000.0,1952792,71.0,9.0,10.0,1.0,,13.844480747425424,WALK,-0.113576708001807,,,0out_0in,othmaint 197775716,4823797,work,1,1,1,1,mandatory,1,14000.0,14000.0,1952792,106.0,11.0,18.0,7.0,,,WALK,-0.5344631926397875,no_subtours,,0out_0in,work -207343599,5057160,work,1,1,1,1,mandatory,1,15000.0,5000.0,2048204,44.0,7.0,14.0,7.0,,,TNC_SINGLE,5.654399315810337,no_subtours,,0out_0in,work -207350864,5057338,eatout,1,1,3,4,non_mandatory,1,9000.0,7000.0,2048382,180.0,20.0,20.0,0.0,,15.485281591880698,WALK,3.9384043847636754,,,0out_0in,eatout -207350886,5057338,othmaint,1,1,2,4,non_mandatory,1,9000.0,7000.0,2048382,169.0,18.0,18.0,0.0,,15.1870342452974,WALK,2.3772556018586344,,,0out_0in,othmaint -207350891,5057338,shopping,1,1,1,4,non_mandatory,1,5000.0,7000.0,2048382,184.0,21.0,21.0,0.0,,14.045243030726178,WALK,2.4767035321732807,,,0out_0in,shopping -207350894,5057338,social,1,1,4,4,non_mandatory,1,10000.0,7000.0,2048382,170.0,18.0,19.0,1.0,,14.197665108665898,TNC_SINGLE,1.5003587157336247,,,0out_0in,social -207350897,5057338,work,1,1,1,1,mandatory,1,4000.0,7000.0,2048382,30.0,6.0,17.0,11.0,,,WALK_HVY,6.089461732812542,no_subtours,,0out_0in,work -220898281,5387762,work,1,1,1,1,mandatory,1,23000.0,9000.0,2223027,47.0,7.0,17.0,10.0,,,WALK_LRF,5.356494345470933,no_subtours,,0out_0in,work -220898322,5387763,work,1,1,1,1,mandatory,1,5000.0,9000.0,2223027,63.0,8.0,17.0,9.0,,,TNC_SINGLE,5.738041105827493,no_subtours,,1out_1in,work -220958270,5389226,eat,1,1,1,1,atwork,1,13000.0,21000.0,2223759,124.0,13.0,13.0,0.0,,15.390793766009658,WALK,5.217176623966586,,220958305.0,0out_0in,atwork -220958279,5389226,eatout,1,1,1,1,joint,2,16000.0,16000.0,2223759,180.0,20.0,20.0,0.0,adults,15.550443736976591,SHARED3FREE,-0.12339418016080342,,,0out_0in,eatout -220958305,5389226,work,1,1,1,1,mandatory,1,21000.0,16000.0,2223759,79.0,9.0,18.0,9.0,,,WALK,5.594816637326808,eat,,0out_0in,work -220958346,5389227,work,1,1,1,1,mandatory,1,23000.0,16000.0,2223759,33.0,6.0,20.0,14.0,,,WALK,5.963177339355437,no_subtours,,0out_0in,work -299527179,7305540,work,1,1,1,1,mandatory,1,1000.0,20000.0,2727273,92.0,10.0,17.0,7.0,,,SHARED2FREE,1.5968783546169214,no_subtours,,0out_0in,work -299527220,7305541,work,1,1,1,1,mandatory,1,2000.0,20000.0,2727273,30.0,6.0,17.0,11.0,,,WALK_LRF,1.8337919496696489,no_subtours,,0out_0in,work -305589966,7453413,shopping,1,1,1,1,non_mandatory,1,11000.0,20000.0,2762078,154.0,16.0,16.0,0.0,,13.74349439306216,WALK,1.9460445188128115,,,0out_0in,shopping -307996473,7512109,eat,1,1,1,1,atwork,1,5000.0,2000.0,2820774,85.0,10.0,10.0,0.0,,20.45049881349694,WALK,0.17580601454606976,,307996508.0,0out_1in,atwork -307996508,7512109,work,1,1,1,1,mandatory,1,2000.0,8000.0,2820774,65.0,8.0,19.0,11.0,,,WALK,-0.6109251432310259,eat,,0out_2in,work -308013080,7512514,eatout,1,1,2,3,non_mandatory,1,19000.0,8000.0,2821179,62.0,8.0,16.0,8.0,,15.449771888666286,WALK,2.747134675357118,,,0out_0in,eatout -308013107,7512514,shopping,1,1,1,3,non_mandatory,1,6000.0,8000.0,2821179,164.0,17.0,19.0,2.0,,13.523855473428197,WALK,1.94763511672055,,,0out_0in,shopping -308013110,7512514,social,1,1,3,3,non_mandatory,1,16000.0,8000.0,2821179,154.0,16.0,16.0,0.0,,13.809556083805864,WALK_LOC,0.11039708532866249,,,0out_0in,social -308050751,7513432,work,1,1,1,1,mandatory,1,9000.0,8000.0,2822097,10.0,5.0,15.0,10.0,,,BIKE,0.15412267830481513,no_subtours,,0out_0in,work -308055753,7513554,work,1,1,1,1,mandatory,1,7000.0,8000.0,2822219,11.0,5.0,16.0,11.0,,,WALK,5.9584484609380315,no_subtours,,0out_0in,work -308056204,7513565,work,1,1,1,1,mandatory,1,12000.0,8000.0,2822230,82.0,9.0,21.0,12.0,,,WALK,5.826459127951694,no_subtours,,1out_1in,work -308464222,7523517,othdiscr,1,1,1,1,non_mandatory,1,16000.0,7000.0,2832182,59.0,8.0,13.0,5.0,,14.913267787577855,WALK_LOC,1.6792639151657363,,,0out_0in,othdiscr +207343599,5057160,work,1,1,1,1,mandatory,1,15000.0,5000.0,2048204,44.0,7.0,14.0,7.0,,,TNC_SINGLE,5.663511077411845,no_subtours,,0out_0in,work +207350864,5057338,eatout,1,1,3,4,non_mandatory,1,9000.0,7000.0,2048382,180.0,20.0,20.0,0.0,,15.530396965232455,WALK,4.021273656438629,,,0out_0in,eatout +207350886,5057338,othmaint,1,1,2,4,non_mandatory,1,9000.0,7000.0,2048382,169.0,18.0,18.0,0.0,,15.19204811997096,WALK,2.391154734266366,,,0out_0in,othmaint +207350891,5057338,shopping,1,1,1,4,non_mandatory,1,5000.0,7000.0,2048382,184.0,21.0,21.0,0.0,,14.057479715828364,WALK,2.499856382786048,,,0out_0in,shopping +207350894,5057338,social,1,1,4,4,non_mandatory,1,10000.0,7000.0,2048382,170.0,18.0,19.0,1.0,,14.209834378052138,TNC_SINGLE,1.493103756086411,,,0out_0in,social +207350897,5057338,work,1,1,1,1,mandatory,1,4000.0,7000.0,2048382,30.0,6.0,17.0,11.0,,,WALK_HVY,6.105326000940647,no_subtours,,0out_0in,work +220898281,5387762,work,1,1,1,1,mandatory,1,23000.0,9000.0,2223027,47.0,7.0,17.0,10.0,,,WALK_LRF,5.356029874468195,no_subtours,,0out_0in,work +220898322,5387763,work,1,1,1,1,mandatory,1,5000.0,9000.0,2223027,63.0,8.0,17.0,9.0,,,TNC_SINGLE,5.743684499214842,no_subtours,,1out_1in,work +220958270,5389226,eat,1,1,1,1,atwork,1,13000.0,21000.0,2223759,124.0,13.0,13.0,0.0,,15.37817038759659,WALK,5.217176623966586,,220958305.0,0out_0in,atwork +220958279,5389226,eatout,1,1,1,1,joint,2,16000.0,16000.0,2223759,180.0,20.0,20.0,0.0,adults,15.538239187772206,SHARED3FREE,-0.1233941801608034,,,0out_0in,eatout +220958305,5389226,work,1,1,1,1,mandatory,1,21000.0,16000.0,2223759,79.0,9.0,18.0,9.0,,,WALK,5.633223787931471,eat,,0out_0in,work +220958346,5389227,work,1,1,1,1,mandatory,1,23000.0,16000.0,2223759,33.0,6.0,20.0,14.0,,,WALK,5.94517128425738,no_subtours,,0out_0in,work +299527179,7305540,work,1,1,1,1,mandatory,1,1000.0,20000.0,2727273,92.0,10.0,17.0,7.0,,,SHARED2FREE,1.5668050837021648,no_subtours,,0out_0in,work +299527220,7305541,work,1,1,1,1,mandatory,1,2000.0,20000.0,2727273,30.0,6.0,17.0,11.0,,,WALK_LRF,1.798877801909233,no_subtours,,0out_0in,work +305589966,7453413,shopping,1,1,1,1,non_mandatory,1,11000.0,20000.0,2762078,154.0,16.0,16.0,0.0,,13.73465020559868,WALK,1.9282735688120127,,,0out_0in,shopping +307996473,7512109,eat,1,1,1,1,atwork,1,5000.0,2000.0,2820774,85.0,10.0,10.0,0.0,,20.4528526875155,WALK,0.144340451165291,,307996508.0,0out_1in,atwork +307996508,7512109,work,1,1,1,1,mandatory,1,2000.0,8000.0,2820774,65.0,8.0,19.0,11.0,,,WALK,-0.63849758689409,eat,,0out_2in,work +308013080,7512514,eatout,1,1,2,3,non_mandatory,1,19000.0,8000.0,2821179,62.0,8.0,16.0,8.0,,15.433907950780627,WALK,2.823219314447263,,,0out_0in,eatout +308013107,7512514,shopping,1,1,1,3,non_mandatory,1,6000.0,8000.0,2821179,164.0,17.0,19.0,2.0,,13.512217317393723,WALK,1.7791394840063146,,,0out_0in,shopping +308013110,7512514,social,1,1,3,3,non_mandatory,1,16000.0,8000.0,2821179,154.0,16.0,16.0,0.0,,13.794538448328227,WALK_LOC,0.0836844432714275,,,0out_0in,social +308050751,7513432,work,1,1,1,1,mandatory,1,9000.0,8000.0,2822097,10.0,5.0,15.0,10.0,,,BIKE,0.1541226783048151,no_subtours,,0out_0in,work +308055753,7513554,work,1,1,1,1,mandatory,1,7000.0,8000.0,2822219,11.0,5.0,16.0,11.0,,,WALK,5.8674311173207885,no_subtours,,0out_0in,work +308056204,7513565,work,1,1,1,1,mandatory,1,12000.0,8000.0,2822230,82.0,9.0,21.0,12.0,,,WALK,5.818260825925703,no_subtours,,1out_1in,work +308464222,7523517,othdiscr,1,1,1,1,non_mandatory,1,16000.0,7000.0,2832182,59.0,8.0,13.0,5.0,,14.941709019837395,WALK_LOC,1.725989964213542,,,0out_0in,othdiscr diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv b/activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv index bc8c884a7..f9d83aace 100644 --- a/activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv +++ b/activitysim/examples/example_multiple_zone/test/regress/final_tours_3_zone.csv @@ -1,56 +1,56 @@ tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,od_atap,od_btap,od_path_set,do_atap,do_btap,do_path_set,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose 1136791,27726,othdiscr,1,1,1,1,non_mandatory,1,13000.0,10000.0,27726,56.0,8.0,10.0,2.0,,15.594097665802533,WALK,2.065476776384414,,,,,,,,,0out_0in,othdiscr -4594649,112064,othdiscr,1,1,2,2,non_mandatory,1,12000.0,16000.0,112064,114.0,12.0,14.0,2.0,,13.90196832766947,WALK,-0.19978895313346412,,,,,,,,,0out_0in,othdiscr -4594657,112064,shopping,1,1,1,2,non_mandatory,1,11000.0,16000.0,112064,155.0,16.0,17.0,1.0,,12.640227542230269,WALK,-0.6420878545030504,,,,,,,,,0out_0in,shopping +4594649,112064,othdiscr,1,1,2,2,non_mandatory,1,12000.0,16000.0,112064,114.0,12.0,14.0,2.0,,13.90196832766947,WALK,-0.1997889531334641,,,,,,,,,0out_0in,othdiscr +4594657,112064,shopping,1,1,1,2,non_mandatory,1,11000.0,16000.0,112064,155.0,16.0,17.0,1.0,,12.640227542230267,WALK,-0.6420878545030504,,,,,,,,,0out_0in,shopping 24423157,595686,school,1,1,1,1,mandatory,1,8000.0,21000.0,370497,46.0,7.0,16.0,9.0,,,WALK,16.647534667069763,,,,,,,,,0out_0in,school 26423525,644476,escort,1,1,1,3,non_mandatory,1,13000.0,16000.0,386761,1.0,5.0,6.0,1.0,,12.577060490434311,TNC_SINGLE,-0.4760916910196014,,,,,,,,,0out_0in,escort -26423541,644476,othdiscr,1,1,3,3,non_mandatory,1,16000.0,16000.0,386761,169.0,18.0,18.0,0.0,,14.293983756200822,WALK,1.9022644572358094,,,,,,,,,0out_0in,othdiscr +26423541,644476,othdiscr,1,1,3,3,non_mandatory,1,16000.0,16000.0,386761,169.0,18.0,18.0,0.0,,14.293983756200822,WALK,1.9022644572358092,,,,,,,,,0out_0in,othdiscr 26423544,644476,othmaint,1,1,2,3,non_mandatory,1,17000.0,16000.0,386761,170.0,18.0,19.0,1.0,,14.038653631364522,WALK,0.8559887465990159,,,,,,,,,0out_0in,othmaint 26423555,644476,work,1,1,1,1,mandatory,1,12000.0,16000.0,386761,47.0,7.0,17.0,10.0,,,WALK,1.3476258300230164,,,,,,,no_subtours,,0out_0in,work -26423590,644477,shopping,1,1,1,1,non_mandatory,1,12000.0,16000.0,386761,135.0,14.0,14.0,0.0,,13.60215185113449,WALK,1.1721200473268165,,,,,,,,,0out_0in,shopping +26423590,644477,shopping,1,1,1,1,non_mandatory,1,12000.0,16000.0,386761,135.0,14.0,14.0,0.0,,13.60215185113449,WALK,1.1721200473268163,,,,,,,,,0out_0in,shopping 26423629,644478,school,1,1,1,1,mandatory,1,25000.0,16000.0,386761,62.0,8.0,16.0,8.0,,,BIKE,1.0040421119153422,,,,,,,,,0out_0in,school 64479052,1572659,shopping,1,1,1,1,non_mandatory,1,19000.0,6000.0,763879,50.0,7.0,20.0,13.0,,12.677909578974518,SHARED3FREE,-1.616231197958132,,,,,,,,,3out_0in,shopping 66952506,1632987,work,1,1,1,1,mandatory,1,17000.0,18000.0,824207,153.0,15.0,23.0,8.0,,,TNC_SINGLE,5.8611730579617145,,,,,,,no_subtours,,0out_0in,work 76904600,1875721,work,1,1,1,1,mandatory,1,4000.0,16000.0,982875,64.0,8.0,18.0,10.0,,,WALK,1.5052241256568006,,,,,,,no_subtours,,0out_0in,work 76904608,1875722,eatout,1,1,1,1,non_mandatory,1,17000.0,16000.0,982875,91.0,10.0,16.0,6.0,,14.140172741499743,WALK,2.395595382646947,,,,,,,,,1out_0in,eatout 88521376,2159057,work,1,1,1,1,mandatory,1,21000.0,20000.0,1099626,48.0,7.0,18.0,11.0,,,DRIVEALONEFREE,-0.3153677819844578,,,,,,,no_subtours,,0out_3in,work -88521409,2159058,school,1,1,1,1,mandatory,1,10000.0,20000.0,1099626,145.0,15.0,15.0,0.0,,,DRIVEALONEFREE,0.4811821103637486,,,,,,,,,0out_0in,univ +88521409,2159058,school,1,1,1,1,mandatory,1,10000.0,20000.0,1099626,145.0,15.0,15.0,0.0,,,DRIVEALONEFREE,0.4811821103637484,,,,,,,,,0out_0in,univ 88521450,2159059,school,1,1,1,1,mandatory,1,11000.0,20000.0,1099626,58.0,8.0,12.0,4.0,,,WALK,-0.8314959414195158,,,,,,,,,0out_0in,school 100798519,2458502,shopping,1,1,1,1,joint,2,5000.0,8000.0,1173905,54.0,8.0,8.0,0.0,children,12.841661180218818,SHARED2FREE,-0.5111781689711135,,,,,,,,,0out_0in,shopping -100798528,2458500,othmaint,1,1,1,1,non_mandatory,1,9000.0,8000.0,1173905,120.0,12.0,20.0,8.0,,13.897809230924173,WALK,-0.10722510977471159,,,,,,,,,0out_0in,othmaint +100798528,2458500,othmaint,1,1,1,1,non_mandatory,1,9000.0,8000.0,1173905,120.0,12.0,20.0,8.0,,13.897809230924173,WALK,-0.1072251097747115,,,,,,,,,0out_0in,othmaint 100798550,2458501,escort,1,1,1,1,non_mandatory,1,17000.0,8000.0,1173905,146.0,15.0,16.0,1.0,,12.4507509504386,WALK,-2.059329270226747,,,,,,,,,0out_0in,escort 100798613,2458502,school,1,1,1,1,mandatory,1,8000.0,8000.0,1173905,64.0,8.0,18.0,10.0,,,WALK,0.2004682500962975,,,,,,,,,1out_0in,school 100798654,2458503,school,1,1,1,1,mandatory,1,8000.0,8000.0,1173905,60.0,8.0,14.0,6.0,,,WALK,0.2158669940821465,,,,,,,,,0out_0in,school 105234657,2566698,work,1,1,1,1,mandatory,1,4000.0,25000.0,1196298,31.0,6.0,18.0,12.0,,,WALK,5.795454735883026,,,,,,,no_subtours,,0out_0in,work 105234731,2566700,school,1,1,1,1,mandatory,1,6000.0,25000.0,1196298,45.0,7.0,15.0,8.0,,,WALK,17.13022184716841,,,,,,,,,0out_0in,school 105234772,2566701,school,1,1,1,1,mandatory,1,8000.0,25000.0,1196298,59.0,8.0,13.0,5.0,,,WALK,16.148071382762,,,,,,,,,0out_0in,school -105234813,2566702,school,1,1,1,1,mandatory,1,25000.0,25000.0,1196298,120.0,12.0,20.0,8.0,,,WALK,18.288899012151962,,,,,,,,,0out_0in,school +105234813,2566702,school,1,1,1,1,mandatory,1,25000.0,25000.0,1196298,120.0,12.0,20.0,8.0,,,WALK,18.28889901215196,,,,,,,,,0out_0in,school 120410774,2936848,eatout,1,1,2,2,non_mandatory,1,6000.0,11000.0,1286557,136.0,14.0,15.0,1.0,,13.36987778840149,BIKE,0.5241078468963517,,,,,,,,,0out_0in,eatout -120410793,2936848,othdiscr,1,1,1,2,non_mandatory,1,25000.0,11000.0,1286557,146.0,15.0,16.0,1.0,,13.966689174541301,WALK,0.012362324935874731,,,,,,,,,0out_0in,othdiscr -125537687,3061894,shopping,1,1,1,1,non_mandatory,1,5000.0,24000.0,1363467,113.0,12.0,13.0,1.0,,12.664750271989753,SHARED3FREE,0.14699044649529297,,,,,,,,,0out_0in,shopping +120410793,2936848,othdiscr,1,1,1,2,non_mandatory,1,25000.0,11000.0,1286557,146.0,15.0,16.0,1.0,,13.9666891745413,WALK,0.0123623249358747,,,,,,,,,0out_0in,othdiscr +125537687,3061894,shopping,1,1,1,1,non_mandatory,1,5000.0,24000.0,1363467,113.0,12.0,13.0,1.0,,12.664750271989751,SHARED3FREE,0.1469904464952929,,,,,,,,,0out_0in,shopping 125537723,3061895,othmaint,1,1,1,1,non_mandatory,1,4000.0,24000.0,1363467,148.0,15.0,18.0,3.0,,13.757864551320312,DRIVEALONEFREE,0.2119390839292166,,,,,,,,,0out_0in,othmaint -125537734,3061895,work,1,1,1,1,mandatory,1,2000.0,24000.0,1363467,27.0,6.0,14.0,8.0,,,BIKE,-0.10161215677732775,,,,,,,no_subtours,,0out_0in,work +125537734,3061895,work,1,1,1,1,mandatory,1,2000.0,24000.0,1363467,27.0,6.0,14.0,8.0,,,BIKE,-0.1016121567773277,,,,,,,no_subtours,,0out_0in,work 171036246,4171615,school,1,1,1,1,mandatory,1,12000.0,16000.0,1810015,124.0,13.0,13.0,0.0,,,WALK,2.7875704923197806,,,,,,,,,0out_0in,univ -171036284,4171616,othmaint,1,1,1,1,non_mandatory,1,16000.0,16000.0,1810015,72.0,9.0,11.0,2.0,,14.048331037883719,WALK,0.9584746360827197,,,,,,,,,0out_0in,othmaint +171036284,4171616,othmaint,1,1,1,1,non_mandatory,1,16000.0,16000.0,1810015,72.0,9.0,11.0,2.0,,14.04833103788372,WALK,0.9584746360827197,,,,,,,,,0out_0in,othmaint 171036336,4171617,work,1,1,1,1,mandatory,1,14000.0,16000.0,1810015,79.0,9.0,18.0,9.0,,,WALK,1.5999891985673405,,,,,,,no_subtours,,1out_0in,work 171036412,4171619,shopping,1,1,1,1,non_mandatory,1,16000.0,16000.0,1810015,126.0,13.0,15.0,2.0,,13.393258348224926,WALK,1.7788864832580635,,,,,,,,,0out_1in,shopping 171036451,4171620,school,1,1,1,1,mandatory,1,16000.0,16000.0,1810015,45.0,7.0,15.0,8.0,,,WALK,2.547353634153898,,,,,,,,,0out_0in,school -171036535,4171622,shopping,1,1,1,1,non_mandatory,1,23000.0,16000.0,1810015,76.0,9.0,15.0,6.0,,13.411461181311836,TNC_SHARED,0.49949121416688186,,,,,,,,,0out_0in,shopping -171036547,4171623,eat,1,1,1,1,atwork,1,1000.0,24000.0,1810015,85.0,10.0,10.0,0.0,,12.741496895467327,WALK,0.1219360412944585,,,,,,,,171036582.0,0out_1in,atwork +171036535,4171622,shopping,1,1,1,1,non_mandatory,1,23000.0,16000.0,1810015,76.0,9.0,15.0,6.0,,13.411461181311836,TNC_SHARED,0.4994912141668818,,,,,,,,,0out_0in,shopping +171036547,4171623,eat,1,1,1,1,atwork,1,1000.0,24000.0,1810015,85.0,10.0,10.0,0.0,,12.741496895467328,WALK,0.1219360412944585,,,,,,,,171036582.0,0out_1in,atwork 171036582,4171623,work,1,1,1,1,mandatory,1,24000.0,16000.0,1810015,68.0,8.0,22.0,14.0,,,WALK,1.3582411459531345,,,,,,,eat,,1out_1in,work -197775705,4823797,othmaint,1,1,1,1,non_mandatory,1,13000.0,14000.0,1952792,71.0,9.0,10.0,1.0,,13.806978998355872,WALK,-0.11357307167335845,,,,,,,,,0out_0in,othmaint +197775705,4823797,othmaint,1,1,1,1,non_mandatory,1,13000.0,14000.0,1952792,71.0,9.0,10.0,1.0,,13.806978998355872,WALK,-0.1135730716733584,,,,,,,,,0out_0in,othmaint 197775716,4823797,work,1,1,1,1,mandatory,1,14000.0,14000.0,1952792,106.0,11.0,18.0,7.0,,,WALK,-0.5344528628897721,,,,,,,no_subtours,,0out_0in,work 220898281,5387762,work,1,1,1,1,mandatory,1,23000.0,9000.0,2223027,47.0,7.0,17.0,10.0,,,TNC_SINGLE,3.8857326280519513,,,,,,,no_subtours,,0out_0in,work 220898322,5387763,work,1,1,1,1,mandatory,1,5000.0,9000.0,2223027,63.0,8.0,17.0,9.0,,,WALK,5.300836464088856,,,,,,,no_subtours,,0out_3in,work 220958270,5389226,eat,1,1,1,1,atwork,1,13000.0,21000.0,2223759,124.0,13.0,13.0,0.0,,15.351749667298796,WALK,5.201699768874482,,,,,,,,220958305.0,0out_0in,atwork -220958279,5389226,eatout,1,1,1,1,joint,2,16000.0,16000.0,2223759,184.0,21.0,21.0,0.0,adults,15.465406223823532,SHARED3FREE,-0.12339417809063187,,,,,,,,,0out_0in,eatout +220958279,5389226,eatout,1,1,1,1,joint,2,16000.0,16000.0,2223759,184.0,21.0,21.0,0.0,adults,15.465406223823532,SHARED3FREE,-0.1233941780906318,,,,,,,,,0out_0in,eatout 220958305,5389226,work,1,1,1,1,mandatory,1,21000.0,16000.0,2223759,79.0,9.0,18.0,9.0,,,TNC_SINGLE,5.319455769031263,,,,,,,eat,,0out_1in,work 220958346,5389227,work,1,1,1,1,mandatory,1,23000.0,16000.0,2223759,34.0,6.0,21.0,15.0,,,TNC_SINGLE,5.139246648693768,,,,,,,no_subtours,,0out_1in,work 299527179,7305540,work,1,1,1,1,mandatory,1,1000.0,20000.0,2727273,94.0,10.0,19.0,9.0,,,SHARED2FREE,0.3063757736281831,,,,,,,no_subtours,,0out_0in,work 299527220,7305541,work,1,1,1,1,mandatory,1,5000.0,20000.0,2727273,31.0,6.0,18.0,12.0,,,WALK,1.2334944217411743,,,,,,,no_subtours,,0out_0in,work -305589966,7453413,shopping,1,1,1,1,non_mandatory,1,13000.0,20000.0,2762078,154.0,16.0,16.0,0.0,,13.304041130785397,SHARED2FREE,0.25627499017538097,,,,,,,,,0out_0in,shopping -308013080,7512514,eatout,1,1,2,3,non_mandatory,1,19000.0,8000.0,2821179,62.0,8.0,16.0,8.0,,15.421103335257841,WALK,2.8152299951807986,,,,,,,,,0out_0in,eatout +305589966,7453413,shopping,1,1,1,1,non_mandatory,1,13000.0,20000.0,2762078,154.0,16.0,16.0,0.0,,13.304041130785397,SHARED2FREE,0.2562749901753809,,,,,,,,,0out_0in,shopping +308013080,7512514,eatout,1,1,2,3,non_mandatory,1,19000.0,8000.0,2821179,62.0,8.0,16.0,8.0,,15.42110333525784,WALK,2.815229995180798,,,,,,,,,0out_0in,eatout 308013107,7512514,shopping,1,1,1,3,non_mandatory,1,6000.0,8000.0,2821179,164.0,17.0,19.0,2.0,,13.490189175869636,WALK,1.8186055749755816,,,,,,,,,0out_0in,shopping 308013110,7512514,social,1,1,3,3,non_mandatory,1,12000.0,8000.0,2821179,154.0,16.0,16.0,0.0,,13.697747127579213,WALK,0.5229748996141723,,,,,,,,,0out_0in,social 308056204,7513565,work,1,1,1,1,mandatory,1,12000.0,8000.0,2822230,82.0,9.0,21.0,12.0,,,TNC_SINGLE,5.403217136871605,,,,,,,no_subtours,,1out_2in,work -308464222,7523517,othdiscr,1,1,1,1,non_mandatory,1,16000.0,7000.0,2832182,59.0,8.0,13.0,5.0,,15.601891670337523,WALK,2.59495659641145,,,,,,,,,0out_0in,othdiscr +308464222,7523517,othdiscr,1,1,1,1,non_mandatory,1,16000.0,7000.0,2832182,59.0,8.0,13.0,5.0,,15.601891670337524,WALK,2.59495659641145,,,,,,,,,0out_0in,othdiscr diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv b/activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv index 986afb54c..a26e48e7b 100644 --- a/activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv +++ b/activitysim/examples/example_multiple_zone/test/regress/final_trips_2_zone.csv @@ -7,50 +7,50 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 8805125,26844,26844,social,1,False,2,7000,7000,1100640,othmaint,43.21727834653041,12,WALK,9.041583184270134 8805126,26844,26844,social,2,False,2,8000,7000,1100640,home,,12,WALK,8.789583223221504 9094329,27726,27726,othdiscr,1,True,1,17000,10000,1136791,othdiscr,,8,WALK_LRF,6.246319410004664 -9094333,27726,27726,othdiscr,1,False,2,7000,17000,1136791,othmaint,45.878812809837484,10,WALK_LOC,5.420568603137892 +9094333,27726,27726,othdiscr,1,False,2,7000,17000,1136791,othmaint,45.87881280983749,10,WALK_LOC,5.420568603137892 9094334,27726,27726,othdiscr,2,False,2,10000,7000,1136791,home,,10,WALK,14.0446786870029 -9717265,29625,29625,shopping,1,True,1,16000,17000,1214658,shopping,,15,WALK_LRF,7.7227647817392215 +9717265,29625,29625,shopping,1,True,1,16000,17000,1214658,shopping,,15,WALK_LRF,7.722764781739221 9717269,29625,29625,shopping,1,False,1,17000,16000,1214658,home,,15,WALK_LRF,7.750777336471436 36757193,112064,112064,othdiscr,1,True,1,9000,16000,4594649,othdiscr,,12,WALK,6.334866199627338 36757197,112064,112064,othdiscr,1,False,1,16000,9000,4594649,home,,14,WALK,6.41776041987002 36757257,112064,112064,shopping,1,True,1,11000,16000,4594657,shopping,,16,WALK,3.964291128688904 -36757261,112064,112064,shopping,1,False,1,16000,11000,4594657,home,,17,WALK,3.9642911737175996 +36757261,112064,112064,shopping,1,False,1,16000,11000,4594657,home,,17,WALK,3.9642911737176 86627409,264107,226869,work,1,True,1,15000,9000,10828426,work,,7,WALK_LRF,1.451342899763582 86627413,264107,226869,work,1,False,1,9000,15000,10828426,home,,19,WALK_LRF,1.4433154732713112 86627625,264108,226869,othdiscr,1,True,1,2000,9000,10828453,othdiscr,,10,WALK_LRF,0.8013218089436901 -86627629,264108,226869,othdiscr,1,False,2,25000,2000,10828453,escort,32.83572582954258,11,WALK,0.13356568233554925 -86627630,264108,226869,othdiscr,2,False,2,9000,25000,10828453,home,,11,WALK_LOC,12.099030970556205 +86627629,264108,226869,othdiscr,1,False,2,25000,2000,10828453,escort,32.83572582954258,11,WALK,0.1335656823355492 +86627630,264108,226869,othdiscr,2,False,2,9000,25000,10828453,home,,11,WALK_LOC,12.099030970556203 106170305,323689,256660,work,1,True,1,12000,10000,13271288,work,,11,WALK_LOC,3.790246557613184 106170309,323689,256660,work,1,False,1,10000,12000,13271288,home,,22,WALK,4.748576623945167 106741681,325431,257531,work,1,True,2,9000,16000,13342710,shopping,25.31057249036081,7,WALK_LOC,8.098099269775245 106741682,325431,257531,work,2,True,2,2000,9000,13342710,work,,8,WALK_LOC,0.6388837788438608 106741685,325431,257531,work,1,False,4,7000,2000,13342710,eatout,31.796055569098264,17,WALK_LOC,0.7089821762068822 -106741686,325431,257531,work,2,False,4,6000,7000,13342710,shopping,49.06649877340865,17,WALK_LOC,11.585795705131643 -106741687,325431,257531,work,3,False,4,25000,6000,13342710,escort,48.912399334712156,17,WALK_LOC,9.954964171388005 +106741686,325431,257531,work,2,False,4,6000,7000,13342710,shopping,49.06649877340865,17,WALK_LOC,11.585795705131645 +106741687,325431,257531,work,3,False,4,25000,6000,13342710,escort,48.91239933471216,17,WALK_LOC,9.954964171388005 106741688,325431,257531,work,4,False,4,16000,25000,13342710,home,,17,WALK,10.2012415753125 106741961,325432,257531,shopping,1,True,1,16000,16000,13342745,shopping,,12,WALK,0.7463062114316571 106741965,325432,257531,shopping,1,False,1,16000,16000,13342745,home,,13,TNC_SINGLE,0.7460787094526629 195385257,595686,370497,school,1,True,1,8000,21000,24423157,school,,7,WALK_LOC,11.180762378631227 195385261,595686,370497,school,1,False,1,21000,8000,24423157,home,,16,WALK,11.113688275362207 -211327433,644290,386699,work,1,True,1,15000,7000,26415929,work,,12,WALK_LOC,0.9764147338815825 -211327437,644290,386699,work,1,False,1,7000,15000,26415929,home,,20,WALK_LOC,1.0202189783378395 +211327433,644290,386699,work,1,True,1,15000,7000,26415929,work,,12,WALK_LOC,0.9764147338815824 +211327437,644290,386699,work,1,False,1,7000,15000,26415929,home,,20,WALK_LOC,1.0202189783378397 211327673,644291,386699,othmaint,1,True,1,5000,7000,26415959,othmaint,,19,WALK_LOC,2.572324687440656 211327677,644291,386699,othmaint,1,False,1,7000,5000,26415959,home,,23,WALK_LOC,2.5471130254532843 -211327761,644291,386699,work,1,True,1,16000,7000,26415970,work,,7,WALK,5.414682184032601 -211327765,644291,386699,work,1,False,1,7000,16000,26415970,home,,17,WALK_LOC,5.514338533539631 +211327761,644291,386699,work,1,True,1,16000,7000,26415970,work,,7,BIKE,4.818191381001227 +211327765,644291,386699,work,1,False,1,7000,16000,26415970,home,,17,BIKE,4.867303187812085 211328025,644292,386699,school,1,True,1,8000,7000,26416003,school,,8,WALK,11.315206419038338 211328029,644292,386699,school,1,False,2,7000,8000,26416003,othdiscr,56.45116885393087,17,WALK,11.597046414300037 -211328030,644292,386699,school,2,False,2,7000,7000,26416003,home,,17,WALK,13.595037388471335 -211388201,644476,386761,escort,1,True,1,13000,16000,26423525,escort,,5,WALK_LOC,-0.17366338048104882 -211388205,644476,386761,escort,1,False,1,16000,13000,26423525,home,,6,WALK_LOC,-0.20201709759820863 +211328030,644292,386699,school,2,False,2,7000,7000,26416003,home,,17,WALK,13.595037388471336 +211388201,644476,386761,escort,1,True,1,13000,16000,26423525,escort,,5,WALK_LOC,-0.1736633804810488 +211388205,644476,386761,escort,1,False,1,16000,13000,26423525,home,,6,WALK_LOC,-0.2020170975982086 211388329,644476,386761,othdiscr,1,True,1,16000,16000,26423541,othdiscr,,18,WALK,7.330879513166791 211388333,644476,386761,othdiscr,1,False,1,16000,16000,26423541,home,,18,WALK,7.330879513166791 211388353,644476,386761,othmaint,1,True,1,17000,16000,26423544,othmaint,,18,WALK,3.727048284416852 211388357,644476,386761,othmaint,1,False,1,16000,17000,26423544,home,,19,WALK,3.671048615725398 211388441,644476,386761,work,1,True,1,12000,16000,26423555,work,,7,WALK,3.548460829940882 211388445,644476,386761,work,1,False,1,16000,12000,26423555,home,,17,WALK,3.516861371044758 -211388721,644477,386761,shopping,1,True,1,11000,16000,26423590,shopping,,14,WALK,2.556018967332217 -211388725,644477,386761,shopping,1,False,1,16000,11000,26423590,home,,14,WALK,2.5569048154217118 +211388721,644477,386761,shopping,1,True,1,12000,16000,26423590,shopping,,14,WALK,3.1625662738073435 +211388725,644477,386761,shopping,1,False,1,16000,12000,26423590,home,,14,WALK,3.162369002002967 211389033,644478,386761,school,1,True,1,22000,16000,26423629,school,,8,WALK_LOC,1.1439151605607298 211389037,644478,386761,school,1,False,1,16000,22000,26423629,home,,16,WALK,1.2205853035954894 415214745,1265898,568785,othdiscr,1,True,1,9000,17000,51901843,othdiscr,,9,WALK_LRF,10.8917991771908 @@ -59,9 +59,9 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 468119573,1427193,703381,shopping,1,False,1,25000,16000,58514946,home,,19,WALK,5.623399464167587 468119857,1427194,703381,othmaint,1,True,1,25000,25000,58514982,othmaint,,7,WALK,8.544078425795073 468119861,1427194,703381,othmaint,1,False,1,25000,25000,58514982,home,,13,WALK,8.544078425795073 -468119921,1427194,703381,social,1,True,2,6000,25000,58514990,eatout,36.260620765861574,16,WALK,7.665909210428074 -468119922,1427194,703381,social,2,True,2,9000,6000,58514990,social,,19,WALK,6.363034049788817 -468119925,1427194,703381,social,1,False,3,7000,9000,58514990,social,38.21294780432319,22,WALK,6.48903402030944 +468119921,1427194,703381,social,1,True,2,6000,25000,58514990,eatout,29.851353820862045,16,WALK,7.665909210428074 +468119922,1427194,703381,social,2,True,2,11000,6000,58514990,social,,19,WALK,2.826068511673883 +468119925,1427194,703381,social,1,False,3,7000,11000,58514990,social,31.80283239513152,22,WALK,2.952068195947384 468119926,1427194,703381,social,2,False,3,8000,7000,58514990,shopping,38.019680196799385,22,WALK,8.789583076836024 468119927,1427194,703381,social,3,False,3,25000,8000,58514990,home,,22,WALK,6.981367594519111 515832417,1572659,763879,shopping,1,True,4,7000,6000,64479052,othmaint,36.59361813076682,7,WALK_LOC,13.757734387253084 @@ -71,11 +71,11 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 515832421,1572659,763879,shopping,1,False,1,6000,19000,64479052,home,,20,WALK_LOC,0.4789680970692022 515921265,1572930,764150,othmaint,1,True,2,7000,9000,64490158,othmaint,31.668242964634366,8,WALK,9.764648314794428 515921266,1572930,764150,othmaint,2,True,2,14000,7000,64490158,othmaint,,8,WALK,1.4610325402353246 -515921269,1572930,764150,othmaint,1,False,2,7000,14000,64490158,escort,30.372602376615816,10,WALK_LOC,1.5134678152231467 +515921269,1572930,764150,othmaint,1,False,2,7000,14000,64490158,escort,30.372602376615816,10,WALK_LOC,1.5134678152231469 515921270,1572930,764150,othmaint,2,False,2,9000,7000,64490158,home,,11,WALK,9.698929388173973 515921305,1572930,764150,shopping,1,True,1,21000,9000,64490163,shopping,,11,WALK,3.430981166177035 -515921309,1572930,764150,shopping,1,False,1,9000,21000,64490163,home,,16,WALK,3.3472815072292246 -535388201,1632281,823501,atwork,1,True,2,17000,14000,66923525,work,31.416071472814014,13,WALK,6.00680238584329 +515921309,1572930,764150,shopping,1,False,1,9000,21000,64490163,home,,16,WALK,3.347281507229225 +535388201,1632281,823501,atwork,1,True,2,17000,14000,66923525,work,31.41607147281401,13,WALK,6.00680238584329 535388202,1632281,823501,atwork,2,True,2,5000,17000,66923525,atwork,,13,WALK,3.928741280395369 535388205,1632281,823501,atwork,1,False,1,14000,5000,66923525,work,,14,WALK,4.540580175399385 535388481,1632281,823501,work,1,True,1,14000,12000,66923560,work,,7,WALK,1.3747499390695126 @@ -85,33 +85,33 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 615236801,1875721,982875,work,1,True,1,4000,16000,76904600,work,,8,WALK,0.5789351277480062 615236805,1875721,982875,work,1,False,1,16000,4000,76904600,home,,18,WALK,0.5696739952778602 615236865,1875722,982875,eatout,1,True,2,7000,16000,76904608,escort,40.17308540050682,10,WALK,12.85246619697602 -615236866,1875722,982875,eatout,2,True,2,17000,7000,76904608,eatout,,13,WALK,3.9052660376990707 +615236866,1875722,982875,eatout,2,True,2,17000,7000,76904608,eatout,,13,WALK,3.905266037699071 615236869,1875722,982875,eatout,1,False,1,16000,17000,76904608,home,,16,WALK,5.852682700432794 -708171009,2159057,1099626,work,1,True,1,21000,20000,88521376,work,,7,WALK,2.8550562705659175 +708171009,2159057,1099626,work,1,True,1,21000,20000,88521376,work,,7,WALK,2.855056270565917 708171013,2159057,1099626,work,1,False,1,20000,21000,88521376,home,,18,WALK,2.643861424742903 708171273,2159058,1099626,univ,1,True,1,10000,20000,88521409,univ,,15,WALK_LOC,9.61945775505847 708171277,2159058,1099626,univ,1,False,1,20000,10000,88521409,home,,15,WALK_LOC,9.499985908867927 708171601,2159059,1099626,school,1,True,1,11000,20000,88521450,school,,8,WALK,4.186663738536829 708171605,2159059,1099626,school,1,False,1,20000,11000,88521450,home,,12,WALK,4.099943826197328 -806388153,2458502,1173905,shopping,1,True,1,5000,8000,100798519,shopping,,8,SHARED2FREE,0.16957406666783342 +806388153,2458502,1173905,shopping,1,True,1,5000,8000,100798519,shopping,,8,SHARED2FREE,0.1695740666678334 806388157,2458502,1173905,shopping,1,False,1,8000,5000,100798519,home,,8,SHARED2FREE,0.1684460835975957 806388225,2458500,1173905,othmaint,1,True,1,9000,8000,100798528,othmaint,,12,WALK,6.622034247453799 806388229,2458500,1173905,othmaint,1,False,1,8000,9000,100798528,home,,20,WALK,6.622034247453799 806388401,2458501,1173905,escort,1,True,1,17000,8000,100798550,escort,,15,WALK_LRF,6.253785305747021 806388405,2458501,1173905,escort,1,False,1,8000,17000,100798550,home,,16,WALK_LRF,5.497063636077087 -806388905,2458502,1173905,school,1,True,2,7000,8000,100798613,social,55.655267414239596,8,WALK,13.486637386215971 -806388906,2458502,1173905,school,2,True,2,8000,7000,100798613,school,,8,WALK,11.315206418159061 -806388909,2458502,1173905,school,1,False,1,8000,8000,100798613,home,,18,WALK,11.737966424070635 -806389233,2458503,1173905,school,1,True,1,8000,8000,100798654,school,,8,WALK,11.737966424070635 -806389237,2458503,1173905,school,1,False,1,8000,8000,100798654,home,,14,WALK,11.737966424070635 -841877257,2566698,1196298,work,1,True,1,2000,25000,105234657,work,,6,WALK,0.9841742333041514 -841877261,2566698,1196298,work,1,False,1,25000,2000,105234657,home,,18,WALK,0.9410715525247594 +806388905,2458502,1173905,school,1,True,2,7000,8000,100798613,social,55.6552674142396,8,WALK,13.486637386215971 +806388906,2458502,1173905,school,2,True,2,8000,7000,100798613,school,,8,WALK,11.31520641815906 +806388909,2458502,1173905,school,1,False,1,8000,8000,100798613,home,,18,WALK,11.737966424070637 +806389233,2458503,1173905,school,1,True,1,8000,8000,100798654,school,,8,WALK,11.737966424070637 +806389237,2458503,1173905,school,1,False,1,8000,8000,100798654,home,,14,WALK,11.737966424070637 +841877257,2566698,1196298,work,1,True,1,4000,25000,105234657,work,,6,WALK,1.0198269854172115 +841877261,2566698,1196298,work,1,False,1,25000,4000,105234657,home,,18,WALK,0.9937585802563552 841877849,2566700,1196298,school,1,True,1,5000,25000,105234731,school,,7,WALK_LOC,4.047398168186926 841877853,2566700,1196298,school,1,False,1,25000,5000,105234731,home,,15,WALK_LOC,3.9643518377422713 841878177,2566701,1196298,school,1,True,1,8000,25000,105234772,school,,8,WALK_LOC,11.36280438733663 841878181,2566701,1196298,school,1,False,1,25000,8000,105234772,home,,13,WALK_LOC,10.81430067240017 -841878505,2566702,1196298,school,1,True,1,25000,25000,105234813,school,,12,WALK,12.824615869979219 -841878509,2566702,1196298,school,1,False,1,25000,25000,105234813,home,,20,WALK,12.824615869979219 +841878505,2566702,1196298,school,1,True,1,25000,25000,105234813,school,,12,WALK,12.82461586997922 +841878509,2566702,1196298,school,1,False,1,25000,25000,105234813,home,,20,WALK,12.82461586997922 963188601,2936550,1286259,othdiscr,1,True,1,9000,8000,120398575,othdiscr,,14,WALK,10.557413677203357 963188605,2936550,1286259,othdiscr,1,False,1,8000,9000,120398575,home,,17,WALK,10.557413677203357 963188665,2936550,1286259,shopping,1,True,1,19000,8000,120398583,shopping,,12,WALK,-1.778502600193854 @@ -120,20 +120,20 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 963286197,2936848,1286557,eatout,1,False,1,11000,6000,120410774,home,,15,WALK,10.810398935949683 963286345,2936848,1286557,othdiscr,1,True,2,8000,11000,120410793,escort,48.24145138895718,15,WALK,10.58401164388489 963286346,2936848,1286557,othdiscr,2,True,2,25000,8000,120410793,othdiscr,,16,WALK,10.709491988184928 -963286349,2936848,1286557,othdiscr,1,False,1,11000,25000,120410793,home,,16,WALK,10.681590144368935 +963286349,2936848,1286557,othdiscr,1,False,1,11000,25000,120410793,home,,16,WALK,10.681590144368936 1004301497,3061894,1363467,shopping,1,True,1,5000,24000,125537687,shopping,,12,WALK,4.145065661436999 1004301501,3061894,1363467,shopping,1,False,1,24000,5000,125537687,home,,13,WALK,4.133905783831767 -1004301761,3061895,1363467,othdiscr,1,True,1,9000,24000,125537720,othdiscr,,17,WALK_HVY,11.684658026322639 -1004301765,3061895,1363467,othdiscr,1,False,1,24000,9000,125537720,home,,19,WALK_HVY,11.302124055276911 -1004301785,3061895,1363467,othmaint,1,True,1,4000,24000,125537723,othmaint,,15,WALK,0.09601450478433943 +1004301761,3061895,1363467,othdiscr,1,True,1,9000,24000,125537720,othdiscr,,17,WALK_HVY,11.68465802632264 +1004301765,3061895,1363467,othdiscr,1,False,1,24000,9000,125537720,home,,19,WALK_HVY,11.302124055276913 +1004301785,3061895,1363467,othmaint,1,True,1,4000,24000,125537723,othmaint,,15,WALK,0.0960145047843394 1004301789,3061895,1363467,othmaint,1,False,1,24000,4000,125537723,home,,16,WALK,0.1298730818236716 -1004301873,3061895,1363467,work,1,True,1,2000,24000,125537734,work,,6,WALK,-0.11170575416558504 -1004301877,3061895,1363467,work,1,False,1,24000,2000,125537734,home,,13,WALK,-0.08531919902466034 +1004301873,3061895,1363467,work,1,True,1,2000,24000,125537734,work,,6,WALK,-0.111705754165585 +1004301877,3061895,1363467,work,1,False,1,24000,2000,125537734,home,,13,WALK,-0.0853191990246603 1045822217,3188483,1402945,othdiscr,1,True,1,3000,25000,130727777,othdiscr,,9,WALK,9.644619047782118 -1045822221,3188483,1402945,othdiscr,1,False,1,25000,3000,130727777,home,,9,WALK,9.580561161616101 -1045822409,3188482,1402945,work,1,True,2,7000,25000,130727801,work,31.772976516614023,8,WALK,10.411761425965901 +1045822221,3188483,1402945,othdiscr,1,False,1,25000,3000,130727777,home,,9,WALK,9.5805611616161 +1045822409,3188482,1402945,work,1,True,2,7000,25000,130727801,work,31.772976516614023,8,WALK,10.4117614259659 1045822410,3188482,1402945,work,2,True,2,14000,7000,130727801,work,,9,WALK,-0.2760074213842863 -1045822413,3188482,1402945,work,1,False,1,25000,14000,130727801,home,,17,WALK,-0.16606528966861214 +1045822413,3188482,1402945,work,1,False,1,25000,14000,130727801,home,,17,WALK,-0.1660652896686121 1045822737,3188483,1402945,work,1,True,1,15000,25000,130727842,work,,9,WALK,1.1621136398928025 1045822741,3188483,1402945,work,1,False,1,25000,15000,130727842,home,,16,WALK_LOC,1.0332661932426703 1045823001,3188484,1402945,univ,1,True,1,12000,25000,130727875,univ,,16,WALK,3.8010257036427793 @@ -141,11 +141,11 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 1045823006,3188484,1402945,univ,2,False,2,25000,25000,130727875,home,,16,WALK,12.824615870159588 1045823065,3188484,1402945,work,1,True,1,5000,25000,130727883,work,,9,WALK,4.08199251781282 1045823069,3188484,1402945,work,1,False,1,25000,5000,130727883,home,,10,WALK_LOC,3.9154781479629737 -1045823393,3188485,1402945,work,1,True,2,7000,25000,130727924,escort,30.716106674655446,10,WALK_LOC,11.388230172922947 -1045823394,3188485,1402945,work,2,True,2,1000,7000,130727924,work,,12,WALK,-0.19103195261202943 -1045823397,3188485,1402945,work,1,False,2,7000,1000,130727924,eatout,30.600694971829377,20,WALK_LOC,-0.14030157481116123 -1045823398,3188485,1402945,work,2,False,2,25000,7000,130727924,home,,21,WALK_LOC,11.127235612355735 -1060575585,3233462,1445222,eatout,1,True,1,13000,17000,132571948,eatout,,15,WALK,-1.1160192989307063 +1045823393,3188485,1402945,work,1,True,2,7000,25000,130727924,escort,30.71610667465545,10,WALK_LOC,11.388230172922947 +1045823394,3188485,1402945,work,2,True,2,1000,7000,130727924,work,,12,WALK,-0.1910319526120294 +1045823397,3188485,1402945,work,1,False,2,7000,1000,130727924,eatout,30.600694971829377,20,WALK_LOC,-0.1403015748111612 +1045823398,3188485,1402945,work,2,False,2,25000,7000,130727924,home,,21,WALK_LOC,11.127235612355737 +1060575585,3233462,1445222,eatout,1,True,1,13000,17000,132571948,eatout,,15,WALK,-1.1160192989307065 1060575589,3233462,1445222,eatout,1,False,1,17000,13000,132571948,home,,16,WALK,-0.9879831518349294 1060575801,3233462,1445222,shopping,1,True,1,16000,17000,132571975,shopping,,17,WALK,7.877905760508009 1060575805,3233462,1445222,shopping,1,False,1,17000,16000,132571975,home,,17,WALK_LRF,7.904087004402969 @@ -175,7 +175,7 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 1179607662,3596364,1645132,shopping,2,False,3,9000,6000,147450957,eatout,53.25987044962454,20,WALK_LOC,12.56862958476763 1179607663,3596364,1645132,shopping,3,False,3,9000,9000,147450957,home,,20,WALK,10.764874611342488 1179608009,3596365,1645132,social,1,True,1,2000,9000,147451001,social,,7,WALK_LRF,0.9214229436290624 -1179608013,3596365,1645132,social,1,False,1,9000,2000,147451001,home,,18,WALK_LRF,0.9093976853000073 +1179608013,3596365,1645132,social,1,False,1,9000,2000,147451001,home,,18,WALK_LRF,0.9093976853000072 1276281769,3891102,1747467,work,1,True,1,16000,16000,159535221,work,,7,WALK,5.450624849962253 1276281773,3891102,1747467,work,1,False,1,16000,16000,159535221,home,,16,WALK,5.450624852553868 1276282049,3891103,1747467,shopping,1,True,1,11000,16000,159535256,shopping,,13,WALK,3.964301596438192 @@ -190,12 +190,12 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 1368289973,4171615,1810015,univ,1,False,1,16000,12000,171036246,home,,13,WALK,4.06117926693834 1368290273,4171616,1810015,othmaint,1,True,1,16000,16000,171036284,othmaint,,9,WALK,4.598226175910151 1368290277,4171616,1810015,othmaint,1,False,1,16000,16000,171036284,home,,11,WALK,4.598226175910151 -1368290689,4171617,1810015,work,1,True,2,8000,16000,171036336,social,22.030187912204873,9,WALK,7.896576327414681 -1368290690,4171617,1810015,work,2,True,2,13000,8000,171036336,work,,12,WALK,-1.5549473695247127 +1368290689,4171617,1810015,work,1,True,2,8000,16000,171036336,social,22.030187912204877,9,WALK,7.896576327414681 +1368290690,4171617,1810015,work,2,True,2,13000,8000,171036336,work,,12,WALK,-1.554947369524713 1368290693,4171617,1810015,work,1,False,1,16000,13000,171036336,home,,18,WALK,-0.8614634025483249 -1368291297,4171619,1810015,shopping,1,True,1,16000,16000,171036412,shopping,,13,WALK,7.3308794494701575 -1368291301,4171619,1810015,shopping,1,False,2,16000,16000,171036412,shopping,38.87236684267602,14,WALK,7.3308794494701575 -1368291302,4171619,1810015,shopping,2,False,2,16000,16000,171036412,home,,15,WALK,7.3308794494701575 +1368291297,4171619,1810015,shopping,1,True,1,16000,16000,171036412,shopping,,13,WALK,7.330879449470157 +1368291301,4171619,1810015,shopping,1,False,2,16000,16000,171036412,shopping,38.87236684267602,14,WALK,7.330879449470157 +1368291302,4171619,1810015,shopping,2,False,2,16000,16000,171036412,home,,15,WALK,7.330879449470157 1368291609,4171620,1810015,school,1,True,1,16000,16000,171036451,school,,7,WALK,6.71417537165923 1368291613,4171620,1810015,school,1,False,1,16000,16000,171036451,home,,15,WALK,6.714175372080282 1368292281,4171622,1810015,shopping,1,True,1,23000,16000,171036535,shopping,,9,WALK,1.3728419142672188 @@ -203,15 +203,15 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 1368292377,4171623,1810015,atwork,1,True,1,1000,24000,171036547,atwork,,10,WALK,-0.804377917423612 1368292381,4171623,1810015,atwork,1,False,2,7000,1000,171036547,othmaint,33.332645871938475,10,WALK,-1.0994814321154591 1368292382,4171623,1810015,atwork,2,False,2,24000,7000,171036547,work,,10,WALK,13.272266227205533 -1368292657,4171623,1810015,work,1,True,2,25000,16000,171036582,escort,29.668944086836447,8,WALK,9.029527074456235 -1368292658,4171623,1810015,work,2,True,2,24000,25000,171036582,work,,8,WALK,2.1089396574220873 +1368292657,4171623,1810015,work,1,True,2,25000,16000,171036582,escort,29.668944086836447,8,WALK,9.029527074456237 +1368292658,4171623,1810015,work,2,True,2,24000,25000,171036582,work,,8,WALK,2.1089396574220878 1368292661,4171623,1810015,work,1,False,2,6000,24000,171036582,work,30.576087536065494,22,WALK,1.4313475247835998 1368292662,4171623,1810015,work,2,False,2,16000,6000,171036582,home,,22,WALK,8.45354298496514 -1582205641,4823797,1952792,othmaint,1,True,1,13000,14000,197775705,othmaint,,9,WALK,-0.23926045274160404 -1582205645,4823797,1952792,othmaint,1,False,1,14000,13000,197775705,home,,10,WALK,-0.23926045274160404 +1582205641,4823797,1952792,othmaint,1,True,1,13000,14000,197775705,othmaint,,9,WALK,-0.239260452741604 +1582205645,4823797,1952792,othmaint,1,False,1,14000,13000,197775705,home,,10,WALK,-0.239260452741604 1582205729,4823797,1952792,work,1,True,1,14000,14000,197775716,work,,11,WALK,0.7266921244277498 1582205733,4823797,1952792,work,1,False,1,14000,14000,197775716,home,,18,WALK,0.7266921244277498 -1658748793,5057160,2048204,work,1,True,1,15000,5000,207343599,work,,7,WALK_LOC,1.3170017699096879 +1658748793,5057160,2048204,work,1,True,1,15000,5000,207343599,work,,7,WALK_LOC,1.317001769909688 1658748797,5057160,2048204,work,1,False,1,5000,15000,207343599,home,,14,WALK_LOC,1.3015181390621686 1658806913,5057338,2048382,eatout,1,True,1,9000,7000,207350864,eatout,,20,WALK,10.189133613409494 1658806917,5057338,2048382,eatout,1,False,1,7000,9000,207350864,home,,20,WALK,10.345373617887216 @@ -228,7 +228,7 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 1767186577,5387763,2223027,work,1,True,2,7000,9000,220898322,escort,38.55185637940535,8,WALK,11.363681052923477 1767186578,5387763,2223027,work,2,True,2,5000,7000,220898322,work,,8,WALK,4.031252242930563 1767186581,5387763,2223027,work,1,False,2,8000,5000,220898322,othmaint,36.964562786529065,17,WALK,3.9594482660927697 -1767186582,5387763,2223027,work,2,False,2,9000,8000,220898322,home,,17,WALK,10.001230529962585 +1767186582,5387763,2223027,work,2,False,2,9000,8000,220898322,home,,17,WALK,10.001230529962584 1767666161,5389226,2223759,atwork,1,True,1,13000,21000,220958270,atwork,,13,WALK,-0.8469767119587287 1767666165,5389226,2223759,atwork,1,False,1,21000,13000,220958270,work,,13,WALK,-0.8469846953017646 1767666233,5389226,2223759,eatout,1,True,1,16000,16000,220958279,eatout,,20,WALK,6.618624772185435 @@ -236,10 +236,10 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 1767666441,5389226,2223759,work,1,True,1,21000,16000,220958305,work,,9,WALK,2.520654632402534 1767666445,5389226,2223759,work,1,False,1,16000,21000,220958305,home,,18,WALK,2.7406511441212484 1767666769,5389227,2223759,work,1,True,1,23000,16000,220958346,work,,6,WALK,0.7526669094549486 -1767666773,5389227,2223759,work,1,False,1,16000,23000,220958346,home,,20,WALK,0.40072258181021503 -2396217433,7305540,2727273,work,1,True,1,1000,20000,299527179,work,,10,SHARED2FREE,0.17663861858229693 +1767666773,5389227,2223759,work,1,False,1,16000,23000,220958346,home,,20,WALK,0.400722581810215 +2396217433,7305540,2727273,work,1,True,1,1000,20000,299527179,work,,10,SHARED2FREE,0.1766386185822969 2396217437,7305540,2727273,work,1,False,1,20000,1000,299527179,home,,17,SHARED2FREE,-0.4071724372157053 -2396217761,7305541,2727273,work,1,True,1,2000,20000,299527220,work,,6,WALK_LRF,0.37731213442716816 +2396217761,7305541,2727273,work,1,True,1,2000,20000,299527220,work,,6,WALK_LRF,0.3773121344271681 2396217765,7305541,2727273,work,1,False,1,20000,2000,299527220,home,,17,WALK_LRF,0.4522229209355942 2444719729,7453413,2762078,shopping,1,True,1,11000,20000,305589966,shopping,,16,WALK,4.72875300127406 2444719733,7453413,2762078,shopping,1,False,1,20000,11000,305589966,home,,16,WALK,4.63947306542404 @@ -260,9 +260,9 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 2464406013,7513432,2822097,work,1,False,1,8000,9000,308050751,home,,15,BIKE,8.061419249304613 2464446025,7513554,2822219,work,1,True,1,7000,8000,308055753,work,,5,WALK,10.948561445815672 2464446029,7513554,2822219,work,1,False,1,8000,7000,308055753,home,,16,WALK,10.71976145528291 -2464449633,7513565,2822230,work,1,True,2,9000,8000,308056204,univ,29.551049635153966,9,WALK,7.9948426686587775 +2464449633,7513565,2822230,work,1,True,2,9000,8000,308056204,univ,29.55104963515397,9,WALK,7.9948426686587775 2464449634,7513565,2822230,work,2,True,2,12000,9000,308056204,work,,9,WALK,2.6765203030859817 2464449637,7513565,2822230,work,1,False,2,6000,12000,308056204,escort,33.34376957078302,12,WALK,3.1913129432158387 -2464449638,7513565,2822230,work,2,False,2,8000,6000,308056204,home,,21,WALK,9.386342851961201 +2464449638,7513565,2822230,work,2,False,2,8000,6000,308056204,home,,21,WALK,9.3863428519612 2467713777,7523517,2832182,othdiscr,1,True,1,16000,7000,308464222,othdiscr,,8,WALK,6.612046694416055 2467713781,7523517,2832182,othdiscr,1,False,1,7000,16000,308464222,home,,13,WALK_LOC,6.681639068176178 diff --git a/activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv b/activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv index d04463662..ddfef6071 100644 --- a/activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv +++ b/activitysim/examples/example_multiple_zone/test/regress/final_trips_3_zone.csv @@ -4,14 +4,14 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 36757193,112064,112064,othdiscr,1,True,1,12000,16000,4594649,othdiscr,,12,WALK,4.599564723581695,,, 36757197,112064,112064,othdiscr,1,False,1,16000,12000,4594649,home,,14,WALK,4.599564716687014,,, 36757257,112064,112064,shopping,1,True,1,11000,16000,4594657,shopping,,16,WALK,3.964291128688904,,, -36757261,112064,112064,shopping,1,False,1,16000,11000,4594657,home,,17,WALK,3.9642911737175996,,, +36757261,112064,112064,shopping,1,False,1,16000,11000,4594657,home,,17,WALK,3.9642911737176,,, 195385257,595686,370497,school,1,True,1,8000,21000,24423157,school,,7,WALK,11.080195241803462,,, 195385261,595686,370497,school,1,False,1,21000,8000,24423157,home,,16,WALK,11.036835230556166,,, 211388201,644476,386761,escort,1,True,1,13000,16000,26423525,escort,,5,TNC_SHARED,-1.1876146394641565,,, 211388205,644476,386761,escort,1,False,1,16000,13000,26423525,home,,6,WALK_TRANSIT,-0.7683292874254523,90016.0,90012.0,shortest 211388329,644476,386761,othdiscr,1,True,1,16000,16000,26423541,othdiscr,,18,WALK,7.330879513166791,,, 211388333,644476,386761,othdiscr,1,False,1,16000,16000,26423541,home,,18,WALK,7.330879513166791,,, -211388353,644476,386761,othmaint,1,True,1,17000,16000,26423544,othmaint,,18,WALK,3.7063285513759268,,, +211388353,644476,386761,othmaint,1,True,1,17000,16000,26423544,othmaint,,18,WALK,3.706328551375927,,, 211388357,644476,386761,othmaint,1,False,1,16000,17000,26423544,home,,19,WALK,3.6962483059869946,,, 211388441,644476,386761,work,1,True,1,12000,16000,26423555,work,,7,WALK,3.2969072197129083,,, 211388445,644476,386761,work,1,False,1,16000,12000,26423555,home,,17,WALK,3.29690716940968,,, @@ -20,103 +20,103 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 211389033,644478,386761,school,1,True,1,25000,16000,26423629,school,,8,BIKE,12.194765926599858,,, 211389037,644478,386761,school,1,False,1,16000,25000,26423629,home,,16,BIKE,12.150807255895982,,, 515832417,1572659,763879,shopping,1,True,4,7000,6000,64479052,othmaint,36.40832148098153,7,WALK,13.734545920861262,,, -515832418,1572659,763879,shopping,2,True,4,7000,7000,64479052,escort,36.068441476486534,12,WALK,13.906967145498491,,, +515832418,1572659,763879,shopping,2,True,4,7000,7000,64479052,escort,36.06844147648653,12,WALK,13.906967145498491,,, 515832419,1572659,763879,shopping,3,True,4,7000,7000,64479052,shopping,34.83041114804465,17,WALK,13.906967145498491,,, -515832420,1572659,763879,shopping,4,True,4,19000,7000,64479052,shopping,,17,SHARED2FREE,0.14611235046745477,,, +515832420,1572659,763879,shopping,4,True,4,19000,7000,64479052,shopping,,17,SHARED2FREE,0.1461123504674547,,, 515832421,1572659,763879,shopping,1,False,1,6000,19000,64479052,home,,20,SHARED3FREE,-0.5904843626610963,,, 535620049,1632987,824207,work,1,True,1,17000,18000,66952506,work,,15,WALK,4.628394719363547,,, 535620053,1632987,824207,work,1,False,1,18000,17000,66952506,home,,23,WALK,4.625280982482905,,, 615236801,1875721,982875,work,1,True,1,4000,16000,76904600,work,,8,WALK,-0.3775561543634698,,, -615236805,1875721,982875,work,1,False,1,16000,4000,76904600,home,,18,WALK,-0.47928012083273935,,, -615236865,1875722,982875,eatout,1,True,2,7000,16000,76904608,escort,40.172892527736956,10,WALK,12.85246619697602,,, -615236866,1875722,982875,eatout,2,True,2,17000,7000,76904608,eatout,,13,WALK,3.9052660376990707,,, +615236805,1875721,982875,work,1,False,1,16000,4000,76904600,home,,18,WALK,-0.4792801208327393,,, +615236865,1875722,982875,eatout,1,True,2,7000,16000,76904608,escort,40.17289252773696,10,WALK,12.85246619697602,,, +615236866,1875722,982875,eatout,2,True,2,17000,7000,76904608,eatout,,13,WALK,3.905266037699071,,, 615236869,1875722,982875,eatout,1,False,1,16000,17000,76904608,home,,16,WALK,5.892858627625031,,, 708171009,2159057,1099626,work,1,True,1,21000,20000,88521376,work,,7,WALK,2.0808019898702543,,, 708171013,2159057,1099626,work,1,False,4,7000,21000,88521376,shopping,28.898833214113047,18,WALK,1.765359539694954,,, -708171014,2159057,1099626,work,2,False,4,8000,7000,88521376,othdiscr,44.01410786053018,18,WALK,10.051581447556295,,, -708171015,2159057,1099626,work,3,False,4,7000,8000,88521376,escort,42.347125907341315,18,WALK,8.462764558392845,,, +708171014,2159057,1099626,work,2,False,4,8000,7000,88521376,othdiscr,44.01410786053018,18,WALK,10.051581447556297,,, +708171015,2159057,1099626,work,3,False,4,7000,8000,88521376,escort,42.34712590734132,18,WALK,8.462764558392845,,, 708171016,2159057,1099626,work,4,False,4,20000,7000,88521376,home,,18,WALK,8.964803895928217,,, 708171273,2159058,1099626,univ,1,True,1,10000,20000,88521409,univ,,15,WALK,8.039212343802607,,, 708171277,2159058,1099626,univ,1,False,1,20000,10000,88521409,home,,15,WALK,8.033252787653574,,, 708171601,2159059,1099626,school,1,True,1,11000,20000,88521450,school,,8,WALK,4.162382208312036,,, 708171605,2159059,1099626,school,1,False,1,20000,11000,88521450,home,,12,WALK,4.1311628840277725,,, -806388153,2458502,1173905,shopping,1,True,1,5000,8000,100798519,shopping,,8,SHARED2FREE,0.16957406666783342,,, +806388153,2458502,1173905,shopping,1,True,1,5000,8000,100798519,shopping,,8,SHARED2FREE,0.1695740666678334,,, 806388157,2458502,1173905,shopping,1,False,1,8000,5000,100798519,home,,8,SHARED2FREE,0.1684460835975957,,, 806388225,2458500,1173905,othmaint,1,True,1,9000,8000,100798528,othmaint,,12,WALK,6.622034247453799,,, 806388229,2458500,1173905,othmaint,1,False,1,8000,9000,100798528,home,,20,WALK,6.622034247453799,,, -806388401,2458501,1173905,escort,1,True,1,17000,8000,100798550,escort,,15,WALK,3.8773631170137715,,, +806388401,2458501,1173905,escort,1,True,1,17000,8000,100798550,escort,,15,WALK,3.877363117013772,,, 806388405,2458501,1173905,escort,1,False,1,8000,17000,100798550,home,,16,WALK,3.737863102378973,,, 806388905,2458502,1173905,school,1,True,2,7000,8000,100798613,social,55.78907965405994,8,WALK,13.34853579117717,,, -806388906,2458502,1173905,school,2,True,2,8000,7000,100798613,school,,8,WALK,11.526586427366201,,, -806388909,2458502,1173905,school,1,False,1,8000,8000,100798613,home,,18,WALK,11.737966424070635,,, -806389233,2458503,1173905,school,1,True,1,8000,8000,100798654,school,,8,WALK,11.737966424070635,,, -806389237,2458503,1173905,school,1,False,1,8000,8000,100798654,home,,14,WALK,11.737966424070635,,, +806388906,2458502,1173905,school,2,True,2,8000,7000,100798613,school,,8,WALK,11.5265864273662,,, +806388909,2458502,1173905,school,1,False,1,8000,8000,100798613,home,,18,WALK,11.737966424070637,,, +806389233,2458503,1173905,school,1,True,1,8000,8000,100798654,school,,8,WALK,11.737966424070637,,, +806389237,2458503,1173905,school,1,False,1,8000,8000,100798654,home,,14,WALK,11.737966424070637,,, 841877257,2566698,1196298,work,1,True,1,4000,25000,105234657,work,,6,WALK,-0.2516307080315274,,, 841877261,2566698,1196298,work,1,False,1,25000,4000,105234657,home,,18,WALK,-0.3230660497738071,,, 841877849,2566700,1196298,school,1,True,1,6000,25000,105234731,school,,7,WALK,11.464708074376125,,, 841877853,2566700,1196298,school,1,False,1,25000,6000,105234731,home,,15,WALK,11.464708074402532,,, 841878177,2566701,1196298,school,1,True,1,8000,25000,105234772,school,,8,WALK,10.377546474783648,,, -841878181,2566701,1196298,school,1,False,1,25000,8000,105234772,home,,13,WALK,10.404646423723685,,, -841878505,2566702,1196298,school,1,True,1,25000,25000,105234813,school,,12,WALK,12.824615869979219,,, -841878509,2566702,1196298,school,1,False,1,25000,25000,105234813,home,,20,WALK,12.824615869979219,,, -963286193,2936848,1286557,eatout,1,True,1,6000,11000,120410774,eatout,,14,BIKE,12.494563524543079,,, -963286197,2936848,1286557,eatout,1,False,1,11000,6000,120410774,home,,15,WALK,12.494563524549699,,, +841878181,2566701,1196298,school,1,False,1,25000,8000,105234772,home,,13,WALK,10.404646423723683,,, +841878505,2566702,1196298,school,1,True,1,25000,25000,105234813,school,,12,WALK,12.82461586997922,,, +841878509,2566702,1196298,school,1,False,1,25000,25000,105234813,home,,20,WALK,12.82461586997922,,, +963286193,2936848,1286557,eatout,1,True,1,6000,11000,120410774,eatout,,14,BIKE,12.49456352454308,,, +963286197,2936848,1286557,eatout,1,False,1,11000,6000,120410774,home,,15,WALK,12.4945635245497,,, 963286345,2936848,1286557,othdiscr,1,True,1,25000,11000,120410793,othdiscr,,15,WALK,12.064881587083146,,, 963286349,2936848,1286557,othdiscr,1,False,1,11000,25000,120410793,home,,16,WALK,12.232281768298204,,, 1004301497,3061894,1363467,shopping,1,True,1,5000,24000,125537687,shopping,,12,WALK,3.7130274821126257,,, 1004301501,3061894,1363467,shopping,1,False,1,24000,5000,125537687,home,,13,SHARED3FREE,3.6933876094578046,,, 1004301785,3061895,1363467,othmaint,1,True,1,4000,24000,125537723,othmaint,,15,DRIVEALONEFREE,0.6604943570038814,,, -1004301789,3061895,1363467,othmaint,1,False,1,24000,4000,125537723,home,,18,WALK,0.44072321723820845,,, -1004301873,3061895,1363467,work,1,True,1,2000,24000,125537734,work,,6,BIKE,0.01737658712885891,,, -1004301877,3061895,1363467,work,1,False,1,24000,2000,125537734,home,,14,BIKE,0.004666558564732578,,, +1004301789,3061895,1363467,othmaint,1,False,1,24000,4000,125537723,home,,18,WALK,0.4407232172382084,,, +1004301873,3061895,1363467,work,1,True,1,2000,24000,125537734,work,,6,BIKE,0.0173765871288589,,, +1004301877,3061895,1363467,work,1,False,1,24000,2000,125537734,home,,14,BIKE,0.0046665585647325,,, 1368289969,4171615,1810015,univ,1,True,1,12000,16000,171036246,univ,,13,WALK,4.061179288088942,,, 1368289973,4171615,1810015,univ,1,False,1,16000,12000,171036246,home,,13,WALK,4.06117926693834,,, 1368290273,4171616,1810015,othmaint,1,True,1,16000,16000,171036284,othmaint,,9,WALK,4.598226175910151,,, 1368290277,4171616,1810015,othmaint,1,False,1,16000,16000,171036284,home,,11,WALK,4.598226175910151,,, 1368290689,4171617,1810015,work,1,True,2,8000,16000,171036336,social,24.27202534866615,9,WALK,7.896576327414681,,, -1368290690,4171617,1810015,work,2,True,2,14000,8000,171036336,work,,12,WALK,-0.32042542069485463,,, -1368290693,4171617,1810015,work,1,False,1,16000,14000,171036336,home,,18,WALK,0.49247462099988193,,, -1368291297,4171619,1810015,shopping,1,True,1,16000,16000,171036412,shopping,,13,WALK,7.3308794494701575,,, -1368291301,4171619,1810015,shopping,1,False,2,16000,16000,171036412,shopping,38.872404599185785,14,WALK,7.3308794494701575,,, -1368291302,4171619,1810015,shopping,2,False,2,16000,16000,171036412,home,,15,WALK,7.3308794494701575,,, +1368290690,4171617,1810015,work,2,True,2,14000,8000,171036336,work,,12,WALK,-0.3204254206948546,,, +1368290693,4171617,1810015,work,1,False,1,16000,14000,171036336,home,,18,WALK,0.4924746209998819,,, +1368291297,4171619,1810015,shopping,1,True,1,16000,16000,171036412,shopping,,13,WALK,7.330879449470157,,, +1368291301,4171619,1810015,shopping,1,False,2,16000,16000,171036412,shopping,38.872404599185785,14,WALK,7.330879449470157,,, +1368291302,4171619,1810015,shopping,2,False,2,16000,16000,171036412,home,,15,WALK,7.330879449470157,,, 1368291609,4171620,1810015,school,1,True,1,16000,16000,171036451,school,,7,WALK,6.71417537165923,,, 1368291613,4171620,1810015,school,1,False,1,16000,16000,171036451,home,,15,WALK,6.714175372080282,,, 1368292281,4171622,1810015,shopping,1,True,1,23000,16000,171036535,shopping,,9,TNC_SINGLE,-1.940742218542811,,, 1368292285,4171622,1810015,shopping,1,False,1,16000,23000,171036535,home,,15,WALK_TRANSIT,0.8849710286454233,90016.0,90014.0,shortest 1368292377,4171623,1810015,atwork,1,True,1,1000,24000,171036547,atwork,,10,WALK,-0.7715288559756663,,, -1368292381,4171623,1810015,atwork,1,False,2,7000,1000,171036547,othmaint,33.333383755513104,10,WALK,-1.0979780611969903,,, +1368292381,4171623,1810015,atwork,1,False,2,7000,1000,171036547,othmaint,33.333383755513104,10,WALK,-1.0979780611969905,,, 1368292382,4171623,1810015,atwork,2,False,2,24000,7000,171036547,work,,10,WALK,13.272266227205533,,, -1368292657,4171623,1810015,work,1,True,2,25000,16000,171036582,escort,29.66682818863834,8,WALK,9.029527074456235,,, +1368292657,4171623,1810015,work,1,True,2,25000,16000,171036582,escort,29.66682818863834,8,WALK,9.029527074456237,,, 1368292658,4171623,1810015,work,2,True,2,24000,25000,171036582,work,,8,WALK,2.100139875317927,,, 1368292661,4171623,1810015,work,1,False,2,6000,24000,171036582,work,30.57845053157008,22,WALK,1.4313475247835998,,, 1368292662,4171623,1810015,work,2,False,2,16000,6000,171036582,home,,22,WALK,8.45354298496514,,, -1582205641,4823797,1952792,othmaint,1,True,1,13000,14000,197775705,othmaint,,9,WALK,-0.23926045274160404,,, -1582205645,4823797,1952792,othmaint,1,False,1,14000,13000,197775705,home,,10,WALK,-0.23926045274160404,,, +1582205641,4823797,1952792,othmaint,1,True,1,13000,14000,197775705,othmaint,,9,WALK,-0.239260452741604,,, +1582205645,4823797,1952792,othmaint,1,False,1,14000,13000,197775705,home,,10,WALK,-0.239260452741604,,, 1582205729,4823797,1952792,work,1,True,1,14000,14000,197775716,work,,11,WALK,0.7266921244277498,,, 1582205733,4823797,1952792,work,1,False,1,14000,14000,197775716,home,,18,WALK,0.7266921244277498,,, 1767186249,5387762,2223027,work,1,True,1,23000,9000,220898281,work,,7,TNC_SINGLE,-0.4139608727894769,,, -1767186253,5387762,2223027,work,1,False,1,9000,23000,220898281,home,,17,TNC_SINGLE,-0.44333544644494455,,, +1767186253,5387762,2223027,work,1,False,1,9000,23000,220898281,home,,17,TNC_SINGLE,-0.4433354464449445,,, 1767186577,5387763,2223027,work,1,True,1,5000,9000,220898322,work,,8,WALK,2.744924666835035,,, 1767186581,5387763,2223027,work,1,False,4,8000,5000,220898322,othmaint,34.17929500173492,16,WALK,3.1849202269264563,,, -1767186582,5387763,2223027,work,2,False,4,7000,8000,220898322,eatout,46.64761595302997,17,WALK,9.302464236178993,,, -1767186583,5387763,2223027,work,3,False,4,7000,7000,220898322,escort,48.67457288689701,17,WALK,11.036561449169515,,, -1767186584,5387763,2223027,work,4,False,4,9000,7000,220898322,home,,17,WALK,10.446257354558641,,, -1767666161,5389226,2223759,atwork,1,True,1,13000,21000,220958270,atwork,,13,WALK,-0.8469767119587291,,, -1767666165,5389226,2223759,atwork,1,False,1,21000,13000,220958270,work,,13,WALK,-0.8469846953017649,,, +1767186582,5387763,2223027,work,2,False,4,7000,8000,220898322,eatout,46.64761595302997,17,WALK,9.302464236178992,,, +1767186583,5387763,2223027,work,3,False,4,7000,7000,220898322,escort,48.67457288689701,17,WALK,11.036561449169517,,, +1767186584,5387763,2223027,work,4,False,4,9000,7000,220898322,home,,17,WALK,10.44625735455864,,, +1767666161,5389226,2223759,atwork,1,True,1,13000,21000,220958270,atwork,,13,WALK,-0.8469767119587287,,, +1767666165,5389226,2223759,atwork,1,False,1,21000,13000,220958270,work,,13,WALK,-0.8469846953017646,,, 1767666233,5389226,2223759,eatout,1,True,1,16000,16000,220958279,eatout,,21,WALK,6.618624772185435,,, 1767666237,5389226,2223759,eatout,1,False,1,16000,16000,220958279,home,,21,WALK,6.618624772185435,,, 1767666441,5389226,2223759,work,1,True,1,21000,16000,220958305,work,,9,WALK,2.906524628265906,,, 1767666445,5389226,2223759,work,1,False,2,6000,21000,220958305,shopping,30.066410398011204,17,WALK,3.4789233361104035,,, 1767666446,5389226,2223759,work,2,False,2,16000,6000,220958305,home,,18,WALK,8.739519226829522,,, 1767666769,5389227,2223759,work,1,True,1,23000,16000,220958346,work,,6,WALK,1.2012359354121191,,, -1767666773,5389227,2223759,work,1,False,2,25000,23000,220958346,shopping,29.351341238160156,13,WALK,2.305499981110482,,, +1767666773,5389227,2223759,work,1,False,2,25000,23000,220958346,shopping,29.35134123816016,13,WALK,2.305499981110482,,, 1767666774,5389227,2223759,work,2,False,2,16000,25000,220958346,home,,21,WALK,9.513365015972848,,, -2396217433,7305540,2727273,work,1,True,1,1000,20000,299527179,work,,10,DRIVEALONEFREE,0.17663861858229693,,, +2396217433,7305540,2727273,work,1,True,1,1000,20000,299527179,work,,10,DRIVEALONEFREE,0.1766386185822969,,, 2396217437,7305540,2727273,work,1,False,1,20000,1000,299527179,home,,19,DRIVEALONEFREE,-0.5570738654464363,,, 2396217761,7305541,2727273,work,1,True,1,5000,20000,299527220,work,,6,WALK,2.21697661171345,,, 2396217765,7305541,2727273,work,1,False,1,20000,5000,299527220,home,,18,WALK,2.1289822455493645,,, -2444719729,7453413,2762078,shopping,1,True,1,13000,20000,305589966,shopping,,16,SHARED2FREE,0.19082308611408758,,, -2444719733,7453413,2762078,shopping,1,False,1,20000,13000,305589966,home,,16,SHARED2FREE,0.15835153702639948,,, +2444719729,7453413,2762078,shopping,1,True,1,13000,20000,305589966,shopping,,16,SHARED2FREE,0.1908230861140875,,, +2444719733,7453413,2762078,shopping,1,False,1,20000,13000,305589966,home,,16,SHARED2FREE,0.1583515370263994,,, 2464104641,7512514,2821179,eatout,1,True,1,19000,8000,308013080,eatout,,8,WALK,-1.7812103759630349,,, 2464104645,7512514,2821179,eatout,1,False,1,8000,19000,308013080,home,,16,WALK,-1.474310526482455,,, 2464104857,7512514,2821179,shopping,1,True,1,6000,8000,308013107,shopping,,17,WALK,12.522299462021278,,, @@ -127,6 +127,6 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 2464449634,7513565,2822230,work,2,True,2,12000,9000,308056204,work,,9,WALK,3.0831344184199936,,, 2464449637,7513565,2822230,work,1,False,3,6000,12000,308056204,escort,36.01475569138399,12,WALK_TRANSIT,5.825660206518803,90005.0,90012.0,shortest 2464449638,7513565,2822230,work,2,False,3,6000,6000,308056204,eatout,46.45753059535832,21,WALK,10.192910221586306,,, -2464449639,7513565,2822230,work,3,False,3,8000,6000,308056204,home,,21,WALK,9.805039232241185,,, +2464449639,7513565,2822230,work,3,False,3,8000,6000,308056204,home,,21,WALK,9.805039232241183,,, 2467713777,7523517,2832182,othdiscr,1,True,1,16000,7000,308464222,othdiscr,,8,WALK,5.511799505181132,,, 2467713781,7523517,2832182,othdiscr,1,False,1,7000,16000,308464222,home,,13,WALK,5.790799498423691,,, diff --git a/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py b/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py index 6f7aeef36..ec400c3fd 100644 --- a/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py +++ b/activitysim/examples/example_multiple_zone/test/test_multiple_zone.py @@ -48,12 +48,14 @@ def regress(zone): # regress tours regress_tours_df = pd.read_csv(test_path(f'regress/final_tours_{zone}_zone.csv')) tours_df = pd.read_csv(test_path('output/final_tours.csv')) + tours_df.to_csv(test_path(f'regress/final_tours_{zone}_zone_last_run.csv'), index=False) print(f"regress tours") pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) # regress trips regress_trips_df = pd.read_csv(test_path(f'regress/final_trips_{zone}_zone.csv')) trips_df = pd.read_csv(test_path('output/final_trips.csv')) + trips_df.to_csv(test_path(f'regress/final_trips_{zone}_zone_last_run.csv'), index=False) print(f"regress trips") pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) diff --git a/activitysim/examples/example_psrc/configs/accessibility.csv b/activitysim/examples/example_psrc/configs/accessibility.csv index adeb3a0c0..c40a672b1 100755 --- a/activitysim/examples/example_psrc/configs/accessibility.csv +++ b/activitysim/examples/example_psrc/configs/accessibility.csv @@ -21,12 +21,12 @@ auto off-peak total,auOpTotal,df.TOTEMP * _decay #,, assume peak outbound transit occurs in AM o-d peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'AM')]" o-d peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_XWAIT', 'AM')] + skim_od[('WLK_TRN_WLK_WACC', 'AM')] + skim_od[('WLK_TRN_WLK_WAUX', 'AM')] + skim_od[('WLK_TRN_WLK_WEGR', 'AM')]" -o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 +o-d peak transit time,_trPkTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR #,, assume peak inbound transit occurs in PM d-o peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'PM')]" d-o peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_XWAIT', 'PM')] + skim_do[('WLK_TRN_WLK_WACC', 'PM')] + skim_do[('WLK_TRN_WLK_WAUX', 'PM')] + skim_do[('WLK_TRN_WLK_WEGR', 'PM')]" -d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 -peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do +d-o peak transit time,_trPkTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) transit peak retail,trPkRetail,df.RETEMPN * _decay @@ -37,12 +37,12 @@ transit peak total,trPkTotal,df.TOTEMP * _decay #,, assume off-peak outbound transit occurs in the MD time period o-d off-peak transit ivt,_inVehicleTime,"skim_od[('WLK_TRN_WLK_IVT', 'MD')]" o-d off-peak transit ovt,_outOfVehicleTime,"skim_od[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_od[('WLK_TRN_WLK_WACC', 'MD')] + skim_od[('WLK_TRN_WLK_WAUX', 'MD')] + skim_od[('WLK_TRN_WLK_WEGR', 'MD')]" -o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 +o-d off-peak transit time,_trOpTime_od,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR #,, assume off-peak inbound transit occurs in the MD time period d-o off-peak transit ivt,_inVehicleTime,"skim_do[('WLK_TRN_WLK_IVT', 'MD')]" d-o off-peak transit ovt,_outOfVehicleTime,"skim_do[('WLK_TRN_WLK_IWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_XWAIT', 'MD')] + skim_do[('WLK_TRN_WLK_WACC', 'MD')] + skim_do[('WLK_TRN_WLK_WAUX', 'MD')] + skim_do[('WLK_TRN_WLK_WEGR', 'MD')]" -d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / 100.0 -peak transit time,_trOpTime,_trOpTime_od + _trOpTime_do +d-o off-peak transit time,_trOpTime_do,(_inVehicleTime + out_of_vehicle_time_weight * _outOfVehicleTime) / TRANSIT_SCALE_FACTOR +peak transit time,_trOpTime,(_trOpTime_od + _trOpTime_do).clip(0) #,,FIXME - _rt_available calculation appears to be wrong in mtctm1 accessibility.job #round trip path is available,_rt_available,(_trOpTime > 0) round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) diff --git a/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv b/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv index b382ed07d..f215886a5 100755 --- a/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv +++ b/activitysim/examples/example_psrc/configs/annotate_persons_workplace.csv @@ -16,14 +16,14 @@ work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.wor ,_work_walk_available,(_walk_time_home_to_work > 0) & (_walk_time_work_to_home > 0) ,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" #,,_roundtrip_transit_time_to_work -,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/100" -,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/100" +,_transit_ivt_home_to_work,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_ivt_work_to_home,"skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IVT', 'MD'))/TRANSIT_SCALE_FACTOR" ,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) -,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/100" -,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/100" -,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/100" -,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/100" -,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/100 + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/100" +,_transit_iwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_IWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_xwait,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_XWAIT', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_waux,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WAUX', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wacc,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WACC', 'MD'))/TRANSIT_SCALE_FACTOR" +,_transit_wegr,"skim_dict.lookup(persons.home_zone_id, persons.workplace_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR + skim_dict.lookup(persons.workplace_zone_id, persons.home_zone_id, ('WLK_TRN_WLK_WEGR', 'MD'))/TRANSIT_SCALE_FACTOR" ,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr #,,work_auto_savings_ratio ,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" diff --git a/activitysim/examples/example_psrc/configs/constants.yaml b/activitysim/examples/example_psrc/configs/constants.yaml index 68313e53d..b2896e464 100755 --- a/activitysim/examples/example_psrc/configs/constants.yaml +++ b/activitysim/examples/example_psrc/configs/constants.yaml @@ -61,3 +61,8 @@ PTYPE_NAME: CDAP_ACTIVITY_MANDATORY: M CDAP_ACTIVITY_NONMANDATORY: N CDAP_ACTIVITY_HOME: H + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 100 diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice.csv b/activitysim/examples/example_psrc/configs/tour_mode_choice.csv index fe63e28b4..e1b04fbcd 100755 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice.csv +++ b/activitysim/examples/example_psrc/configs/tour_mode_choice.csv @@ -70,89 +70,89 @@ util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsi util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr_multiplier,,,,,,,,,,,,,,, #,Walk,,,,,,,,,,,,,,,,,,,,,, #,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (df.distance_walk_od.clip(upper=walkThresh) + df.distance_walk_od.clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((df.distance_walk_od - walkThresh).clip(lower=0) + (df.distance_walk_od - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@walktimeshort_multiplier * (od_skims['DISTWALK'].clip(upper=walkThresh) + od_skims.reverse('DISTWALK').clip(upper=walkThresh))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * ((od_skims['DISTWALK'] - walkThresh).clip(lower=0) + (od_skims.reverse('DISTWALK') - walkThresh).clip(lower=0))*60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Topology,WALK - Topology,@coef_topology_walk_multiplier * df.dest_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, #,Bike,,,,,,,,,,,,,,,,,,,,,, #,FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (df.distance_bike_od.clip(upper=bikeThresh) + df.distance_bike_od.clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((df.distance_bike_od-bikeThresh).clip(lower=0) + (df.distance_bike_od-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@biketimeshort_multiplier * (od_skims['DISTBIKE'].clip(upper=bikeThresh) + od_skims.reverse('DISTBIKE').clip(upper=bikeThresh))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@biketimelong_multiplier * ((od_skims['DISTBIKE']-bikeThresh).clip(lower=0) + (od_skims.reverse('DISTBIKE')-bikeThresh).clip(lower=0))*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Topology,BIKE - Topology,@coef_topology_bike_multiplier * df.dest_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, #,Walk to Local,,,,,,,,,,,,,,,,,,,,,, util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/100 + dot_skims['WLK_LOC_WLK_TOTIVT']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/100 + dot_skims['WLK_LOC_WLK_XWAIT']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@(odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_WLK_BOARDS']-1).clip(0)),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/100 + dot_skims['WLK_LOC_WLK_WAUX']/100),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@waux_multiplier * (odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_WLK_FAR'] + dot_skims['WLK_LOC_WLK_FAR']),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Topology,WALK_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,,, #,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/100 + dot_skims['WLK_LRF_WLK_TOTIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@(odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, #, FIXME coefficients below are wrong or needlessly complex? could be re-expressed to avoid subtract?,,,,,,,,,,,,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/100 + dot_skims['WLK_LRF_WLK_XWAIT']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1)*(odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@xwait_multiplier * (odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_WLK_BOARDS']-1).clip(0)),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/100 + dot_skims['WLK_LRF_WLK_WAUX']/100),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk other time,@waux_multiplier * (odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_WLK_FAR'] + dot_skims['WLK_LRF_WLK_FAR']),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Topology,WALK_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,,, #,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/100 + dot_skims['WLK_EXP_WLK_TOTIVT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/100 + dot_skims['WLK_EXP_WLK_XWAIT']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@(odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1)*(odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@xwait_multiplier * (odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/100 + dot_skims['WLK_EXP_WLK_WAUX']/100),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@waux_multiplier * (odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_WLK_FAR'] + dot_skims['WLK_EXP_WLK_FAR']),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Topology,WALK_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,,, #,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/100 + dot_skims['WLK_HVY_WLK_TOTIVT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/100 + dot_skims['WLK_HVY_WLK_XWAIT']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@(odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@xwait_multiplier * (odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@wegr_multiplier * 2 *df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/100 + dot_skims['WLK_HVY_WLK_WAUX']/100),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@waux_multiplier * (odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_WLK_FAR'] + dot_skims['WLK_HVY_WLK_FAR']),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Topology,WALK_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,,,, #,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/100 + dot_skims['WLK_COM_WLK_TOTIVT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/100 + dot_skims['WLK_COM_WLK_XWAIT']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@(odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@xwait_multiplier * (odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * ((odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_WLK_BOARDS']-1).clip(0)),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@2 * wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@2 * wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/100 + dot_skims['WLK_COM_WLK_WAUX']/100),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@waux_multiplier * (odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_WLK_FAR'] + dot_skims['WLK_COM_WLK_FAR']),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Topology,WALK_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, @@ -161,17 +161,17 @@ util_WALK_COM_Person_is_less_than_10_years_old,WALK_COM - Person is less than 10 util_DRIVE_LOC_Unavailable,DRIVE_LOC - Unavailable,drive_local_available == False,,,,,,,,,,,,,,-999,,,,,,, util_DRIVE_LOC_Unavailable_for_zero_auto_households,DRIVE_LOC - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,-999,,,,,,, util_DRIVE_LOC_Unavailable_for_persons_less_than_16,DRIVE_LOC - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/100 + dot_skims['WLK_LOC_DRV_TOTIVT']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/100 + dot_skims['WLK_LOC_DRV_XWAIT']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_In_vehicle_time,DRIVE_LOC - In-vehicle time,@(odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Short_iwait_time,DRIVE_LOC - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Long_iwait_time,DRIVE_LOC - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_transfer_wait_time,DRIVE_LOC - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_number_of_transfers,DRIVE_LOC - number of transfers,@xfers_wlk_multiplier * ((odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LOC_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/100 + dot_skims['WLK_LOC_DRV_DTIM']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Drive_time,DRIVE_LOC - Drive time,@dtim_multiplier * (odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Walk_access_time,DRIVE_LOC - Walk access time,@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Walk_egress_time,DRIVE_LOC - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/100 + dot_skims['WLK_LOC_DRV_WAUX']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/100+dot_skims['WLK_LOC_DRV_DDIST']/100) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/100+ dot_skims['WLK_LOC_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_Walk_other_time,DRIVE_LOC - Walk other time,@waux_multiplier * (odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Fare_and_operating_cost,DRIVE_LOC - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LOC_WLK_FAR'] + dot_skims['WLK_LOC_DRV_FAR']) + ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR) * costPerMile)),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,1,,,,,,, util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,,, @@ -179,19 +179,19 @@ util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than util_DRIVE_LRF_Unavailable,DRIVE_LRF - Unavailable,drive_lrf_available == False,,,,,,,,,,,,,,,-999,,,,,, util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/100 + dot_skims['WLK_LRF_DRV_TOTIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_DRV_FERRYIVT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/100 + dot_skims['WLK_LRF_DRV_XWAIT']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time,DRIVE_LRF - In-vehicle time,@(odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Light_Rail,DRIVE_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(ivt_lrt_multiplier-1) * (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_In_vehicle_time_on_Ferry,DRIVE_LRF - In-vehicle time on Ferry (incremental w/ keyivt),@(ivt_ferry_multiplier-ivt_lrt_multiplier)*(odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Short_iwait_time,DRIVE_LRF - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Long_iwait_time,DRIVE_LRF - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_transfer_wait_time,DRIVE_LRF - transfer wait time,@xwait_multiplier * (odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_number_of_transfers,DRIVE_LRF - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_LRF_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/100 + dot_skims['WLK_LRF_DRV_DTIM']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Drive_time,DRIVE_LRF - Drive time,@dtim_multiplier * (odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Walk_access_time,DRIVE_LRF - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Walk_egress_time,DRIVE_LRF - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/100 + dot_skims['WLK_LRF_DRV_WAUX']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/100+dot_skims['WLK_LRF_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/100+ dot_skims['WLK_LRF_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_Walk_other_time,DRIVE_LRF - Walk other time,@waux_multiplier * (odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Fare_and_operating_cost,DRIVE_LRF - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_LRF_WLK_FAR']+dot_skims['WLK_LRF_DRV_FAR']) + ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,1,,,,,, util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,,, @@ -199,18 +199,18 @@ util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than util_DRIVE_EXP_Unavailable,DRIVE_EXP - Unavailable,drive_express_available == False,,,,,,,,,,,,,,,,-999,,,,, util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/100 + dot_skims['WLK_EXP_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/100 + dot_skims['WLK_EXP_DRV_XWAIT']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time,DRIVE_EXP - In-vehicle time,@(odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_In_vehicle_time_on_Express_bus,DRIVE_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier-1) * (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Short_iwait_time,DRIVE_EXP - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Long_iwait_time,DRIVE_EXP - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_transfer_wait_time,DRIVE_EXP - transfer wait time,@xwait_multiplier * (odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_number_of_transfers,DRIVE_EXP - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_EXP_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/100 + dot_skims['WLK_EXP_DRV_DTIM']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Drive_time,DRIVE_EXP - Drive time,@dtim_multiplier * (odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Walk_access_time,DRIVE_EXP - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Walk_egress_ime,DRIVE_EXP - Walk egress ime (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/100 + dot_skims['WLK_EXP_DRV_WAUX']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/100+dot_skims['WLK_EXP_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/100+ dot_skims['WLK_EXP_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_Walk_other_time,DRIVE_EXP - Walk other time,@waux_multiplier * (odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Fare_and_operating_cost,DRIVE_EXP - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_EXP_WLK_FAR']+dot_skims['WLK_EXP_DRV_FAR']) + ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR+ dot_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,1,,,,, util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,,, @@ -218,18 +218,18 @@ util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than util_DRIVE_HVY_Unavailable,DRIVE_HVY - Unavailable,drive_heavyrail_available == False,,,,,,,,,,,,,,,,,-999,,,, util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/100 + dot_skims['WLK_HVY_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/100 + dot_skims['WLK_HVY_DRV_XWAIT']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time,DRIVE_HVY - In-vehicle time,@(odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_In_vehicle_time_on_heavy_rail,DRIVE_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Short_iwait_time,DRIVE_HVY - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Long_iwait_time,DRIVE_HVY - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_transfer_wait_time,DRIVE_HVY - transfer wait time,@xwait_multiplier * (odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_number_of_transfers,DRIVE_HVY - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_HVY_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/100 + dot_skims['WLK_HVY_DRV_DTIM']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Drive_time,DRIVE_HVY - Drive time,@dtim_multiplier * (odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Walk_access_time,DRIVE_HVY - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Walk_egress_time,DRIVE_HVY - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/100 + dot_skims['WLK_HVY_DRV_WAUX']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/100+dot_skims['WLK_HVY_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_Walk_other_time,DRIVE_HVY - Walk other time,@waux_multiplier * (odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Fare_and_operating_cost,DRIVE_HVY - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_HVY_WLK_FAR']+dot_skims['WLK_HVY_DRV_FAR']) + ((odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY - Ratio of drive access distance to OD distance,@dacc_ratio * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,,, @@ -237,18 +237,18 @@ util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than util_DRIVE_COM_Unavailable,DRIVE_COM - Unavailable,drive_commuter_available == False,,,,,,,,,,,,,,,,,,-999,,, util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/100 + dot_skims['WLK_COM_DRV_TOTIVT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/100).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/100).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/100-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/100-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/100 + dot_skims['WLK_COM_DRV_XWAIT']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time,DRIVE_COM - In-vehicle time,@(odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_In_vehicle_time_on_commuter_rail,DRIVE_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Short_iwait_time,DRIVE_COM - Short iwait time,@short_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Long_iwait_time,DRIVE_COM - Long iwait time,@long_i_wait_multiplier * ((odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0) + (dot_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_transfer_wait_time,DRIVE_COM - transfer wait time,@xwait_multiplier * (odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_number_of_transfers,DRIVE_COM - number of transfers,@xfers_drv_multiplier * ((odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0) + (dot_skims['WLK_COM_DRV_BOARDS']-1).clip(0)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/100 + dot_skims['WLK_COM_DRV_DTIM']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Drive_time,DRIVE_COM - Drive time,@dtim_multiplier * (odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Walk_access_time,DRIVE_COM - Walk access time (at attraction end),@wacc_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Walk_egress_time,DRIVE_COM - Walk egress time (at attraction end),@wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/100 + dot_skims['WLK_COM_DRV_WAUX']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/100+dot_skims['WLK_COM_DRV_DDIST']/100) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/100 + dot_skims['WLK_COM_DRV_DDIST']/100)/ (df.distance*2)),,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_Walk_other_time,DRIVE_COM - Walk other time,@waux_multiplier * (odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Fare_and_operating_cost,DRIVE_COM - Fare and operating cost,@ivt_cost_multiplier * df.ivot * ((odt_skims['DRV_COM_WLK_FAR']+dot_skims['WLK_COM_DRV_FAR']) + ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR+dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) *costPerMile)),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM - Ratio of drive access distance to OD distance,@dacc_ratio * ((odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']*2)),,,,,,,,,,,,,,,,,,1,,, util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densityIndex,@density_index_multiplier * df.dest_density_index,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Topology,DRIVE_COM - Topology,@coef_topology_trn_multiplier * df.dest_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn_multiplier,,, @@ -338,9 +338,9 @@ util_Heavy_Rail_ASC,Heavy Rail ASC,1,,,,,,,,,,,,heavy_rail_ASC,,,,,heavy_rail_AS util_Commuter_Rail,Commuter Rail,1,,,,,,,,,,,,,commuter_rail_ASC,,,,,commuter_rail_ASC,,, util_Walk_to_Transit_dest_CBD,Walk to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,walk_transit_CBD_ASC,,,,,,,, util_Drive_to_Transit_dest_CBD,Drive to Transit dest CBD,@df.destination_in_cbd,,,,,,,,,,,,,,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,drive_transit_CBD_ASC,,, -util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-df.distance/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, +util_Drive_to_Transit_distance_penalty,Drive to Transit - distance penalty,@drvtrn_distpen_0_multiplier * (1-od_skims['DIST']/drvtrn_distpen_max).clip(lower=0),,,,,,,,,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,, #, FIXME - skims aren't symmetrical,so we have to make sure they can get back,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.distance_walk_od > 3,,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.distance_bike_od > 8,,,,,,,,-999,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@od_skims.max('DISTWALK') > 3,,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@od_skims.max('DISTBIKE') > 8,,,,,,,,-999,,,,,,,,,,,,, util_Drive_alone_not_available_for_escort_tours,Drive alone not available for escort tours,is_escort,-999,-999,,,,,,,,,,,,,,,,,,, #, max(c_densityIndexOrigin*originDensityIndex,originDensityIndexMax),,,,,,,,,1,1,1,1,1,1,1,,,,,, diff --git a/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv index 9d205debb..121a90888 100755 --- a/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/example_psrc/configs/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -75,18 +75,18 @@ local,_DF_IS_TOUR,'tour_type' in df.columns ,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 ,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) ,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/100>0) -,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100)>0) -,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100)>0) -,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100)>0) -,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100)>0) -,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) -,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/100>0) -,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100)>0) -,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100)>0) -,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100)>0) -,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100)>0) -,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) #,, destination in central business district,destination_in_cbd,"(reindex(land_use.area_type, df[dest_col_name]) < setting('cbd_threshold')) * 1" #,,FIXME diagnostic diff --git a/activitysim/examples/example_psrc/configs/trip_destination.yaml b/activitysim/examples/example_psrc/configs/trip_destination.yaml index 0ebe89683..4165986d7 100644 --- a/activitysim/examples/example_psrc/configs/trip_destination.yaml +++ b/activitysim/examples/example_psrc/configs/trip_destination.yaml @@ -15,7 +15,7 @@ DEST_CHOICE_SAMPLE_TABLE_NAME: trip_destination_sample # model-specific logsum-related settings TRIP_ORIGIN: origin ALT_DEST_COL_NAME: alt_dest -PRIMARY_DEST: destination +PRIMARY_DEST: tour_leg_dest # must be created in preprocessor REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: - tour_mode diff --git a/activitysim/examples/example_psrc/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/example_psrc/configs/trip_destination_annotate_trips_preprocessor.csv index 0e5e80100..e4317d8e8 100755 --- a/activitysim/examples/example_psrc/configs/trip_destination_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_psrc/configs/trip_destination_annotate_trips_preprocessor.csv @@ -7,3 +7,4 @@ Description,Target,Expression #,,not needed as school is not chosen as an intermediate trip destination #,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" #,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" +,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice.csv b/activitysim/examples/example_psrc/configs/trip_mode_choice.csv index 7e15afc03..2da242e95 100644 --- a/activitysim/examples/example_psrc/configs/trip_mode_choice.csv +++ b/activitysim/examples/example_psrc/configs/trip_mode_choice.csv @@ -69,87 +69,87 @@ util_SHARED3PAY_One_person_household,SHARED3PAY - One person household,@(df.hhsi util_SHARED3PAY_Two_person_household,SHARED3PAY - Two person household,@(df.hhsize == 2),,,,,,coef_hhsize2_sr,,,,,,,,,,,,,,, util_SHARED3PAY_Person_is_16_years_old_or_older,SHARED3PAY - Person is 16 years old or older,@(df.age >= 16),,,,,,coef_age16p_sr,,,,,,,,,,,,,,, #,Walk,,,,,,,,,,,,,,,,,,,,,, -util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * df.distance_walk_od.clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, -util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (df.distance_walk_od - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_up_to_2_miles,WALK - Time up to 2 miles,@coef_walktimeshort_multiplier * od_skims['DISTWALK'].clip(upper=walkThresh) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, +util_WALK_Time_beyond_2_of_a_miles,WALK - Time beyond 2 of a miles,@walktimelong_multiplier * (od_skims['DISTWALK'] - walkThresh).clip(lower=0) * 60/walkSpeed,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Destination_zone_densityIndex,WALK - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,coef_ivt,,,,,,,,,,,,,, util_WALK_Topology,WALK - Topology,@topology_walk_multiplier * df.trip_topology,,,,,,,coef_ivt,,,,,,,,,,,,,, #,Bike,,,,,,,,,,,,,,,,,,,,,, util_BIKE_Unavailable_if_didn't_bike_to_work,BIKE - Unavailable if didn't bike to work,is_atwork_subtour & ~work_tour_is_bike,,,,,,,,-999,,,,,,,,,,,,, -util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * df.distance_bike_od.clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, -util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (df.distance_bike_od-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_up_to_6_miles,BIKE - Time up to 6 miles,@coef_biketimeshort_multiplier * od_skims['DISTBIKE'].clip(upper=bikeThresh)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, +util_BIKE_Time_beyond_6_of_a_miles,BIKE - Time beyond 6 of a miles,@coef_biketimeshort_multiplier * biketimelong_multiplier * (od_skims['DISTBIKE']-bikeThresh).clip(lower=0)*60/bikeSpeed,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Destination_zone_densityIndex,BIKE - Destination zone densityIndex,@density_index_multiplier*df.density_index,,,,,,,,coef_ivt,,,,,,,,,,,,, util_BIKE_Topology,BIKE - Topology,@topology_bike_multiplier * df.trip_topology,,,,,,,,coef_ivt,,,,,,,,,,,,, #,Walk to Local,,,,,,,,,,,,,,,,,,,,,, util_WALK_LOC_Unavailable,WALK_LOC - Unavailable,walk_local_available == False,,,,,,,,,-999,,,,,,,,,,,, -util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_In_vehicle_time,WALK_LOC - In-vehicle time,@odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Short_iwait_time,WALK_LOC - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Long_iwait_time,WALK_LOC - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_transfer_wait_time,WALK_LOC - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_number_of_transfers,WALK_LOC - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_access_time,WALK_LOC - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Walk_egress_time,WALK_LOC - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,coef_ivt,,,,,,,,,,,, -util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/100,,,,,,,,,coef_ivt,,,,,,,,,,,, +util_WALK_LOC_Walk_other_time,WALK_LOC - Walk other time,@coef_waux_multiplier * odt_skims['WLK_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Fare,WALK_LOC - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LOC_WLK_FAR'],,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Destination_zone_densityIndex,WALK_LOC - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Topology,WALK_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,coef_ivt,,,,,,,,,,,, util_WALK_LOC_Person_is_less_than_10_years_old,WALK_LOC - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,coef_age010_trn,,,,,,,,,,,, #,Walk to Light rail/Ferry,,,,,,,,,,,,,,,,,,,,,, util_WALK_LRF_Unavailable,WALK_LRF - Unavailable,walk_lrf_available == False,,,,,,,,,,-999,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time,WALK_LRF - In-vehicle time,@odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Light_Rail,WALK_LRF - In-vehicle time on Light Rail (incremental w/ ivt),@(coef_ivt_lrt_multiplier-1) * odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_In_vehicle_time_on_Ferry,WALK_LRF - In-vehicle time on Ferry (incremental w/keyivt),@(coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier) * odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Short_iwait_time,WALK_LRF - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Long_iwait_time,WALK_LRF - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_transfer_wait_time,WALK_LRF - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_number_of_transfers,WALK_LRF - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_access_time,WALK_LRF - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Walk_egress_time,WALK_LRF - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,coef_ivt,,,,,,,,,,, -util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/100,,,,,,,,,,coef_ivt,,,,,,,,,,, +util_WALK_LRF_Walk_other_time,WALK_LRF - Walk otherLight rail/Ferry time,@coef_waux_multiplier * odt_skims['WLK_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Fare,WALK_LRF - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_LRF_WLK_FAR'],,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Destination_zone_densityIndex,WALK_LRF - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Topology,WALK_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,coef_ivt,,,,,,,,,,, util_WALK_LRF_Person_is_less_than_10_years_old,WALK_LRF - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,coef_age010_trn,,,,,,,,,,, #,Walk to Express bus,,,,,,,,,,,,,,,,,,,,,, util_WALK_EXP_Unavailable,WALK_EXP - Unavailable,walk_express_available == False,,,,,,,,,,,-999,,,,,,,,,, -util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time,WALK_EXP - In-vehicle time,@odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_In_vehicle_time_on_Express_bus,WALK_EXP - In-vehicle time on Express bus (incremental w/ ivt),@(ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Short_iwait_time,WALK_EXP - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Long_iwait_time,WALK_EXP - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_transfer_wait_time,WALK_EXP - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_number_of_transfers,WALK_EXP - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_access_time,WALK_EXP - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Walk_egress_time,WALK_EXP - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,coef_ivt,,,,,,,,,, -util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/100,,,,,,,,,,,coef_ivt,,,,,,,,,, +util_WALK_EXP_Walk_other_time,WALK_EXP - Walk other time,@coef_waux_multiplier * odt_skims['WLK_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Fare,WALK_EXP - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_EXP_WLK_FAR'],,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Destination_zone_densityIndex,WALK_EXP - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Topology,WALK_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,coef_ivt,,,,,,,,,, util_WALK_EXP_Person_is_less_than_10_years_old,WALK_EXP - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,coef_age010_trn,,,,,,,,,, #,Walk to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_HVY_Unavailable,WALK_HVY - Unavailable,walk_heavyrail_available == False,,,,,,,,,,,,-999,,,,,,,,, -util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time,WALK_HVY - In-vehicle time,@odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_In_vehicle_time_on_heavy_rail,WALK_HVY - In-vehicle time on heavy rail (incremental w/ ivt),@(ivt_hvy_multiplier-1) * odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Short_iwait_time,WALK_HVY - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Long_iwait_time,WALK_HVY - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_transfer_wait_time,WALK_HVY - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_number_of_transfers,WALK_HVY - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_access_time,WALK_HVY - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Walk_egress_time,WALK_HVY - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,coef_ivt,,,,,,,,, -util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/100,,,,,,,,,,,,coef_ivt,,,,,,,,, +util_WALK_HVY_Walk_other_time,WALK_HVY - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Fare,WALK_HVY - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_HVY_WLK_FAR'],,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Destination_zone_densityIndex,WALK_HVY - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Topology,WALK_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,coef_ivt,,,,,,,,, util_WALK_HVY_Person_is_less_than_10_years_old,WALK_HVY - Person is less than 10 years old,@(df.age <= 10),,,,,,,,,,,,coef_age010_trn,,,,,,,,, #,Walk to Commuter rail,,,,,,,,,,,,,,,,,,,,,, util_WALK_COM_Unavailable,WALK_COM - Unavailable,walk_commuter_available == False,,,,,,,,,,,,,-999,,,,,,,, -util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time,WALK_COM - In-vehicle time,@odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_In_vehicle_time_on_commuter_rail,WALK_COM - In-vehicle time on commuter rail (incremental w/ ivt),@(ivt_com_multiplier - 1) * odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Short_iwait_time,WALK_COM - Short iwait time,@coef_short_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Long_iwait_time,WALK_COM - Long iwait time,@coef_long_iwait_multiplier * (odt_skims['WLK_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_transfer_wait_time,WALK_COM - transfer wait time,@coef_xwait_multiplier * odt_skims['WLK_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_number_of_transfers,WALK_COM - number of transfers,@xfers_wlk_multiplier * (odt_skims['WLK_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_access_time,WALK_COM - Walk access time,@coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Walk_egress_time,WALK_COM - Walk egress time,@coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,coef_ivt,,,,,,,, -util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/100,,,,,,,,,,,,,coef_ivt,,,,,,,, +util_WALK_COM_Walk_other_time,WALK_COM - Walk other time,@coef_waux_multiplier * odt_skims['WLK_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Fare,WALK_COM - Fare,@ivt_cost_multiplier * df.ivot * odt_skims['WLK_COM_WLK_FAR'],,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Destination_zone_densityIndex,WALK_COM - Destination zone densityIndex,@density_index_multiplier * df.density_index,,,,,,,,,,,,,coef_ivt,,,,,,,, util_WALK_COM_Topology,WALK_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,coef_ivt,,,,,,,, @@ -161,27 +161,27 @@ util_DRIVE_LOC_Destination_zone_densityIndex,DRIVE_LOC - Destination zone densit util_DRIVE_LOC_Topology,DRIVE_LOC - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_Person_is_less_than_10_years_old,DRIVE_LOC - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,coef_age010_trn,,,,,,, util_DRIVE_LOC_outbound_Unavailable,DRIVE_LOC outbound - Unavailable,outbound & ~drive_local_available_outbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_In_vehicle_time,DRIVE_LOC outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Short_iwait_time,DRIVE_LOC outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Long_iwait_time,DRIVE_LOC outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LOC_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_transfer_wait_time,DRIVE_LOC outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LOC_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_outbound_number_of_transfers,DRIVE_LOC outbound - number of transfers,@df.outbound * xfers_wlk_multiplier * (odt_skims['DRV_LOC_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Drive_time,DRIVE_LOC outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LOC_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_outbound_Walk_egress_time,DRIVE_LOC outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/100)/ (df.distance),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_outbound_Walk_other_time,DRIVE_LOC outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LOC_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Fare_and_operating_cost,DRIVE_LOC outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LOC_WLK_FAR'] + costPerMile*odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LOC_WLK_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, util_DRIVE_LOC_inbound_Unavailable,DRIVE_LOC inbound - Unavailable,inbound & ~drive_local_available_inbound,,,,,,,,,,,,,,-999,,,,,,, -util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_In_vehicle_time,DRIVE_LOC inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Short_iwait_time,DRIVE_LOC inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Long_iwait_time,DRIVE_LOC inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LOC_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_transfer_wait_time,DRIVE_LOC inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LOC_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_inbound_number_of_transfers,DRIVE_LOC inbound - number of transfers,@df.inbound * xfers_wlk_multiplier * (odt_skims['WLK_LOC_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Drive_time,DRIVE_LOC inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LOC_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, util_DRIVE_LOC_inbound_Walk_access_time,DRIVE_LOC inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/100,,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/100),,,,,,,,,,,,,,coef_ivt,,,,,,, -util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/100)/ (df.distance),,,,,,,,,,,,,,1,,,,,,, +util_DRIVE_LOC_inbound_Walk_other_time,DRIVE_LOC inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LOC_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Fare_and_operating_cost,DRIVE_LOC inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LOC_DRV_FAR'] + costPerMile*odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,coef_ivt,,,,,,, +util_DRIVE_LOC_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LOC inbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['WLK_LOC_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ (od_skims['DIST']),,,,,,,,,,,,,,1,,,,,,, #,Drive to Light Rail/Ferry,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_LRF_Unavailable_for_zero_auto_households,DRIVE_LRF - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,-999,,,,,, util_DRIVE_LRF_Unavailable_for_persons_less_than_16,DRIVE_LRF - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,-999,,,,,, @@ -189,31 +189,31 @@ util_DRIVE_LRF_Destination_zone_densityIndex,DRIVE_LRF - Destination zone densi util_DRIVE_LRF_Topology,DRIVE_LRF - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_Person_is_less_than_10_years_old,DRIVE_LRF - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,coef_age010_trn,,,,,, util_DRIVE_LRF_outbound_Unavailable,DRIVE_LRF outbound - Unavailable,outbound & ~drive_lrf_available_outbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time,DRIVE_LRF outbound - In-vehicle time,@df.outbound * odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_LR,DRIVE_LRF outbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.outbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_In_vehicle_time_on_Ferry,DRIVE_LRF outbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.outbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Short_iwait_time,DRIVE_LRF outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Long_iwait_time,DRIVE_LRF outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_LRF_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_transfer_wait_time,DRIVE_LRF outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_LRF_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_outbound_number_of_transfers,DRIVE_LRF outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_LRF_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Drive_time,DRIVE_LRF outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_LRF_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_outbound_Walk_egress_time,DRIVE_LRF outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_outbound_Walk_other_time,DRIVE_LRF outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_LRF_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Fare_and_operating_cost,DRIVE_LRF outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_LRF_WLK_FAR'] + costPerMile * odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_LRF_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, util_DRIVE_LRF_inbound_Unavailable,DRIVE_LRF inbound - Unavailable,inbound & ~drive_lrf_available_inbound,,,,,,,,,,,,,,,-999,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time,DRIVE_LRF inbound - In-vehicle time,@df.inbound * odt_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_LR,DRIVE_LRF inbound - In-vehicle time on Light Rail (incremental w/ ivt),@df.inbound * (coef_ivt_lrt_multiplier - 1)*odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_In_vehicle_time_on_Ferry,DRIVE_LRF inbound - In-vehicle time on Ferry (incremental w/ keyivt),@df.inbound * (coef_ivt_ferry_multiplier-coef_ivt_lrt_multiplier)*odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Short_iwait_time,DRIVE_LRF inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Long_iwait_time,DRIVE_LRF inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_LRF_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_transfer_wait_time,DRIVE_LRF inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_LRF_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_inbound_number_of_transfers,DRIVE_LRF inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_LRF_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Drive_time,DRIVE_LRF inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_LRF_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, util_DRIVE_LRF_inbound_Walk_access_time,DRIVE_LRF inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/100,,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/100),,,,,,,,,,,,,,,coef_ivt,,,,,, -util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/100)/ df.distance,,,,,,,,,,,,,,,1,,,,,, +util_DRIVE_LRF_inbound_Walk_other_time,DRIVE_LRF inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_LRF_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Fare_and_operating_cost,DRIVE_LRF inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_LRF_DRV_FAR'] + costPerMile * odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,coef_ivt,,,,,, +util_DRIVE_LRF_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_LRF inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_LRF_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,1,,,,,, #,Drive to Express bus,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_EXP_Unavailable_for_zero_auto_households,DRIVE_EXP - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,-999,,,,, util_DRIVE_EXP_Unavailable_for_persons_less_than_16,DRIVE_EXP - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,-999,,,,, @@ -221,29 +221,29 @@ util_DRIVE_EXP_Destination_zone_densityIndex,DRIVE_EXP - Destination zone densit util_DRIVE_EXP_Topology,DRIVE_EXP - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_Person_is_less_than_10_years_old,DRIVE_EXP - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,coef_age010_trn,,,,, util_DRIVE_EXP_outbound_Unavailable,DRIVE_EXP outbound - Unavailable,outbound & ~drive_express_available_outbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time,DRIVE_EXP outbound - In-vehicle time,@df.outbound * odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_In_vehicle_time_on_EXP,DRIVE_EXP outbound - In-vehicle time on Express bus (incremental w/ ivt),@df.outbound * (ivt_exp_multiplier - 1) * odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Short_iwait_time,DRIVE_EXP outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Long_iwait_time,DRIVE_EXP outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_EXP_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_transfer_wait_time,DRIVE_EXP outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_EXP_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_outbound_number_of_transfers,DRIVE_EXP outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_EXP_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Drive_time,DRIVE_EXP outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_EXP_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_outbound_Walk_egress_time,DRIVE_EXP outbound - Walk egress ime,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Walk_other_time,DRIVE_EXP outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_EXP_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Fare_and_operating_cost,DRIVE_EXP outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_EXP_WLK_FAR'] + costPerMile * odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_EXP_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_inbound_Unavailable,DRIVE_EXP inbound - Unavailable,inbound & ~drive_express_available_inbound,,,,,,,,,,,,,,,,-999,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time,DRIVE_EXP inbound - In-vehicle time,@df.inbound * odt_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_In_vehicle_time_on_EXP,DRIVE_EXP inbound - In-vehicle time on Express bus (incremental w/ ivt),@df.inbound * (ivt_exp_multiplier - 1) * odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Short_iwait_time,DRIVE_EXP inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Long_iwait_time,DRIVE_EXP inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_EXP_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_transfer_wait_time,DRIVE_EXP inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_EXP_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_inbound_number_of_transfers,DRIVE_EXP inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_EXP_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Drive_time,DRIVE_EXP inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_EXP_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, util_DRIVE_EXP_inbound_Walk_access_time,DRIVE_EXP inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/100,,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/100),,,,,,,,,,,,,,,,coef_ivt,,,,, -util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,1,,,,, +util_DRIVE_EXP_inbound_Walk_other_time,DRIVE_EXP inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_EXP_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Fare_and_operating_cost,DRIVE_EXP inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_EXP_DRV_FAR'] + costPerMile * odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,coef_ivt,,,,, +util_DRIVE_EXP_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_EXP inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_EXP_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,1,,,,, #,Drive to Heavy Rail,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_HVY_Unavailable_for_zero_auto_households,DRIVE_HVY - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,-999,,,, util_DRIVE_HVY_Unavailable_for_persons_less_than_16,DRIVE_HVY - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,-999,,,, @@ -251,29 +251,29 @@ util_DRIVE_HVY_Destination_zone_densityIndex,DRIVE_HVY - Destination zone densit util_DRIVE_HVY_Topology,DRIVE_HVY - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_Person_is_less_than_10_years_old,DRIVE_HVY - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,coef_age010_trn,,,, util_DRIVE_HVY_outbound_Unavailable,DRIVE_HVY outbound - Unavailable,outbound & ~drive_heavyrail_available_outbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time,DRIVE_HVY outbound - In-vehicle time,@df.outbound * odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_In_vehicle_time_on_HVY,DRIVE_HVY outbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.outbound * (ivt_hvy_multiplier - 1) * odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Short_iwait_time,DRIVE_HVY outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Long_iwait_time,DRIVE_HVY outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_HVY_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_transfer_wait_time,DRIVE_HVY outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_HVY_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_outbound_number_of_transfers,DRIVE_HVY outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_HVY_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Drive_time,DRIVE_HVY outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_outbound_Walk_egress_time,DRIVE_HVY outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Walk_other_time,DRIVE_HVY outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_HVY_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Fare_and_operating_cost,DRIVE_HVY outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_HVY_WLK_FAR'] + costPerMile * odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_HVY_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_inbound_Unavailable,DRIVE_HVY inbound - Unavailable,inbound & ~drive_heavyrail_available_inbound,,,,,,,,,,,,,,,,,-999,,,, -util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time,DRIVE_HVY inbound - In-vehicle time,@df.inbound * odt_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_In_vehicle_time_on_HVY,DRIVE_HVY inbound - In-vehicle time on heavy rail (incremental w/ ivt),@df.inbound * (ivt_hvy_multiplier - 1) * odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Short_iwait_time,DRIVE_HVY inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Long_iwait_time,DRIVE_HVY inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_HVY_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_transfer_wait_time,DRIVE_HVY inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_HVY_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_inbound_number_of_transfers,DRIVE_HVY inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_HVY_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Drive_time,DRIVE_HVY inbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_HVY_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, util_DRIVE_HVY_inbound_Walk_access_time,DRIVE_HVY inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/100,,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/100),,,,,,,,,,,,,,,,,coef_ivt,,,, -util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/100)/ df.distance,,,,,,,,,,,,,,,,,1,,,, +util_DRIVE_HVY_inbound_Walk_other_time,DRIVE_HVY inbound - Walk other time,@coef_waux_multiplier * odt_skims['WLK_HVY_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Fare_and_operating_cost,DRIVE_HVY inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_HVY_DRV_FAR'] + costPerMile * odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,coef_ivt,,,, +util_DRIVE_HVY_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_HVY inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_HVY_DRV_DDIST']/TRANSIT_SCALE_FACTOR)/ od_skims['DIST'],,,,,,,,,,,,,,,,,1,,,, #,#Drive to Commuter Rail,,,,,,,,,,,,,,,,,,,,,, util_DRIVE_COM_Unavailable_for_zero_auto_households,DRIVE_COM - Unavailable for zero auto households,auto_ownership == 0,,,,,,,,,,,,,,,,,,-999,,, util_DRIVE_COM_Unavailable_for_persons_less_than_16,DRIVE_COM - Unavailable for persons less than 16,age < 16,,,,,,,,,,,,,,,,,,-999,,, @@ -281,29 +281,29 @@ util_DRIVE_COM_Destination_zone_densityIndex,DRIVE_COM - Destination zone densit util_DRIVE_COM_Topology,DRIVE_COM - Topology,@topology_trn_multiplier * df.trip_topology,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_Person_is_less_than_10_years_old,DRIVE_COM - Person is less than 10 years old,@(df.age < 10),,,,,,,,,,,,,,,,,,coef_age010_trn,,, util_DRIVE_COM_outbound_Unavailable,DRIVE_COM outbound - Unavailable,outbound & ~drive_commuter_available_outbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time,DRIVE_COM outbound - In-vehicle time,@df.outbound * odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_In_vehicle_time_on_COM,DRIVE_COM outbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.outbound * (ivt_com_multiplier - 1) * odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Short_iwait_time,DRIVE_COM outbound - Short iwait time,@df.outbound * coef_short_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Long_iwait_time,DRIVE_COM outbound - Long iwait time,@df.outbound * coef_long_iwait_multiplier * (odt_skims['DRV_COM_WLK_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_transfer_wait_time,DRIVE_COM outbound - transfer wait time,@df.outbound * coef_xwait_multiplier * odt_skims['DRV_COM_WLK_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_outbound_number_of_transfers,DRIVE_COM outbound - number of transfers,@df.outbound * xfers_drv_multiplier * (odt_skims['DRV_COM_WLK_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Drive_time,DRIVE_COM outbound - Drive time,@df.outbound * coef_dtim_multiplier * odt_skims['DRV_COM_WLK_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_outbound_Walk_egress_time,DRIVE_COM outbound - Walk egress time,@df.outbound * coef_wegr_multiplier * df.destination_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_outbound_Walk_other_time,DRIVE_COM outbound - Walk other time,@df.outbound * coef_waux_multiplier * odt_skims['DRV_COM_WLK_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Fare_and_operating_cost,DRIVE_COM outbound - Fare and operating cost,@df.outbound * ivt_cost_multiplier * df.ivot * (odt_skims['DRV_COM_WLK_FAR'] + costPerMile * odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_outbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM outbound - Ratio of drive access distance to OD distance,@df.outbound * dacc_ratio_multiplier * (odt_skims['DRV_COM_WLK_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, util_DRIVE_COM_inbound_Unavailable,DRIVE_COM inbound - Unavailable,inbound & ~drive_commuter_available_inbound,,,,,,,,,,,,,,,,,,-999,,, -util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/100).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/100-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time,DRIVE_COM inbound - In-vehicle time,@df.inbound * odt_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_In_vehicle_time_on_COM,DRIVE_COM inbound - In-vehicle time on commuter rail (incremental w/ ivt),@df.inbound * (ivt_com_multiplier - 1) * odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Short_iwait_time,DRIVE_COM inbound - Short iwait time,@df.inbound * coef_short_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR).clip(upper=waitThresh),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Long_iwait_time,DRIVE_COM inbound - Long iwait time,@df.inbound * coef_long_iwait_multiplier * (odt_skims['WLK_COM_DRV_IWAIT']/TRANSIT_SCALE_FACTOR-waitThresh).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_transfer_wait_time,DRIVE_COM inbound - transfer wait time,@df.inbound * coef_xwait_multiplier * odt_skims['WLK_COM_DRV_XWAIT']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_inbound_number_of_transfers,DRIVE_COM inbound - number of transfers,@df.inbound * xfers_drv_multiplier * (odt_skims['WLK_COM_DRV_BOARDS']-1).clip(0),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Drive_time,DRIVE_COM inbound - Drive time,@df.inbound * coef_dtim_multiplier * odt_skims['WLK_COM_DRV_DTIM']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, util_DRIVE_COM_inbound_Walk_access_time,DRIVE_COM inbound - Walk access time,@df.inbound * coef_wacc_multiplier * df.origin_walk_time,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/100,,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/100),,,,,,,,,,,,,,,,,,coef_ivt,,, -util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/100) / df.distance,,,,,,,,,,,,,,,,,,1,,, +util_DRIVE_COM_inbound_Walk_other_time,DRIVE_COM inbound - Walk other time,@df.inbound * coef_waux_multiplier * odt_skims['WLK_COM_DRV_WAUX']/TRANSIT_SCALE_FACTOR,,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Fare_and_operating_cost,DRIVE_COM inbound - Fare and operating cost,@df.inbound * ivt_cost_multiplier * df.ivot * (odt_skims['WLK_COM_DRV_FAR'] + costPerMile * odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR),,,,,,,,,,,,,,,,,,coef_ivt,,, +util_DRIVE_COM_inbound_Ratio_of_drive_access_distance_to_OD_distance,DRIVE_COM inbound - Ratio of drive access distance to OD distance,@df.inbound * dacc_ratio_multiplier * (odt_skims['WLK_COM_DRV_DDIST']/TRANSIT_SCALE_FACTOR) / od_skims['DIST'],,,,,,,,,,,,,,,,,,1,,, #,Taxi,,,,,,,,,,,,,,,,,,,,,, util_Taxi_In_vehicle_time,Taxi - In-vehicle time,@odt_skims['HOV2TOLL_TIME'],,,,,,,,,,,,,,,,,,,coef_ivt,, util_Taxi_Wait_time,Taxi - Wait time,@ridehail_wait_time_multiplier * df.origTaxiWaitTime,,,,,,,,,,,,,,,,,,,coef_ivt,, @@ -398,8 +398,8 @@ util_joint_Ride_Hail_tour_mode_ASC_ride_hail_taxi,joint - Ride Hail tour mode AS util_joint_Ride_Hail_tour_mode_ASC_ride_hail_single,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_single, util_joint_Ride_Hail_tour_mode_ASC_ride_hail_shared,joint - Ride Hail tour mode ASC -- ride hail,@(df.is_joint & df.i_tour_mode.isin(I_RIDE_HAIL_MODES)),,,,,,,,,,,,,,,,,,,,,joint_ride_hail_ASC_tnc_shared #,#,,,,,,,,,,,,,,,,,,,,,, -util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (df.distance_walk_od > 3),,,,,,,-999,,,,,,,,,,,,,, -util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (df.distance_bike_od > 8),,,,,,,,-999,,,,,,,,,,,,, +util_Walk_not_available_for_long_distances,Walk not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTWALK'] > 3),,,,,,,-999,,,,,,,,,,,,,, +util_Bike_not_available_for_long_distances,Bike not available for long distances,@df.tour_mode_is_walk & (od_skims['DISTBIKE'] > 8),,,,,,,,-999,,,,,,,,,,,,, util_origin_density_index,Origin density index,@origin_density_applied*(origin_density_index_multiplier*df.origin_density_index).clip(origin_density_index_max),,,,,,,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,coef_ivt,,,,,,,coef_ivt,coef_ivt util_walk_express_penalty,Walk-express penalty for intermediate stops,@walk_express_penalty * ~(df.first_trip | df.first_trip),,,,,,,,,,,coef_ivt,,,,,,,,,, util_adjust_tnc_shared,TNC shared adjustment,@adjust_tnc_shared,,,,,,,,,,,,,,,,,,,,,coef_ivt diff --git a/activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv index 21aaee9dc..6350d71c2 100644 --- a/activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_psrc/configs/trip_mode_choice_annotate_trips_preprocessor.csv @@ -64,24 +64,24 @@ dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & l ,sovtoll_available,odt_skims['SOVTOLL_VTOLL']>0 ,hov2toll_available,odt_skims['HOV2TOLL_VTOLL']>0 ,hov3toll_available,odt_skims['HOV3TOLL_VTOLL']>0 -,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) -,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/100>0) -,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/100>0) -,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/100>0) -,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/100>0) -,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) -,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/100>0) -,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/100>0) -,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/100>0) -,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/100>0) -,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/100>0) -,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/100>0) -,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/100>0) -,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/100>0) -,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/100>0) -,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/100>0) -,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/100>0) -,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/100>0) +,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) ,drive_ferry_available,"np.where(df.outbound, _drive_ferry_available_outbound, _drive_ferry_available_inbound)" #,od_dist_walk,od_skims['DISTWALK'] #,do_dist_walk,od_skims.reverse('DISTWALK') diff --git a/activitysim/examples/example_sandag/configs_1_zone/constants.yaml b/activitysim/examples/example_sandag/configs_1_zone/constants.yaml new file mode 100644 index 000000000..c680bc41e --- /dev/null +++ b/activitysim/examples/example_sandag/configs_1_zone/constants.yaml @@ -0,0 +1,6 @@ +inherit_settings: True + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 1 diff --git a/activitysim/examples/example_sandag/configs_2_zone/constants.yaml b/activitysim/examples/example_sandag/configs_2_zone/constants.yaml new file mode 100644 index 000000000..c680bc41e --- /dev/null +++ b/activitysim/examples/example_sandag/configs_2_zone/constants.yaml @@ -0,0 +1,6 @@ +inherit_settings: True + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 1 diff --git a/activitysim/examples/example_sandag/configs_3_zone/accessibility.csv b/activitysim/examples/example_sandag/configs_3_zone/accessibility.csv index 245d4abce..30cd16ad5 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/accessibility.csv +++ b/activitysim/examples/example_sandag/configs_3_zone/accessibility.csv @@ -23,7 +23,7 @@ auto off-peak total,auOpTotal,df.TOTEMP * _decay o-d peak transit time,_trPkTime_od,"tvpb.get_tvpb_best_transit_time(orig=df.orig, dest=df.dest, tod='AM')" #,, assume peak inbound transit occurs in PM o-d peak transit time,_trPkTime_do,"tvpb.get_tvpb_best_transit_time(orig=df.dest, dest=df.orig, tod='PM')" -peak transit time,_trPkTime,_trPkTime_od + _trPkTime_do +peak transit time,_trPkTime,(_trPkTime_od + _trPkTime_do).clip(0) round trip path is available,_rt_available,(_trPkTime_od > 0) & (_trPkTime_do > 0) decay function,_decay,_rt_available * exp(_trPkTime * dispersion_parameter_transit) transit peak retail,trPkRetail,df.RETEMPN * _decay @@ -34,7 +34,7 @@ transit peak total,trPkTotal,df.TOTEMP * _decay ####,, assume off-peak inbound and outbound transit occurs in the MD time period o-d off-peak transit time,_trOpTime_od,"tvpb.get_tvpb_best_transit_time(orig=df.orig, dest=df.dest, tod='MD')" d-o off-peak transit time,_trOpTime_do,"tvpb.get_tvpb_best_transit_time(orig=df.dest, dest=df.orig, tod='MD')" -off-peak transit time,_trOpTime,_trOpTime_od + _trPkTime_do +off-peak transit time,_trOpTime,(_trOpTime_od + _trPkTime_do).clip(0) round trip path is available,_rt_available,(_trOpTime_od > 0) & (_trOpTime_do > 0) decay function,_decay,_rt_available * exp(_trOpTime * dispersion_parameter_transit) transit off-peak retail,trOpRetail,df.RETEMPN * _decay diff --git a/activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv b/activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv index 2779b8a25..0a3f574c2 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv +++ b/activitysim/examples/example_sandag/configs_3_zone/annotate_persons_workplace.csv @@ -17,19 +17,19 @@ work_zone_area_type,work_zone_area_type,"reindex(land_use.area_type, persons.wor ,_roundtrip_walk_time_to_work,"np.where(_work_walk_available, _walk_time_home_to_work + _walk_time_work_to_home, _MAX_TIME_TO_WORK)" #,,_roundtrip_transit_time_to_work ##### ,_IVT_SKIM,"skim_dict.get(('WLK_TRN_WLK_IVT', 'MD'))" -##### ,_transit_ivt_home_to_work,"_IVT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100" -##### ,_transit_ivt_work_to_home,"_IVT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_ivt_home_to_work,"_IVT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR" +##### ,_transit_ivt_work_to_home,"_IVT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_work_transit_available,(_transit_ivt_home_to_work > 0) & (_transit_ivt_work_to_home > 0) ##### ,_IWAIT_SKIM,"skim_dict.get(('WLK_TRN_WLK_IWAIT', 'MD'))" -##### ,_transit_iwait,"_IWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _IWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_iwait,"_IWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _IWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_XWAIT_SKIM,"skim_dict.get(('WLK_TRN_WLK_XWAIT', 'MD'))" -##### ,_transit_xwait,"_XWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _XWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_xwait,"_XWAIT_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _XWAIT_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_WAUX_SKIM,"skim_dict.get(('WLK_TRN_WLK_WAUX', 'MD'))" -##### ,_transit_waux,"_WAUX_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _WAUX_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_waux,"_WAUX_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _WAUX_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_WACC_SKIM,"skim_dict.get(('WLK_TRN_WLK_WACC', 'MD'))" -##### ,_transit_wacc,"_WACC_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _WACC_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_wacc,"_WACC_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _WACC_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_WEGR_SKIM,"skim_dict.get(('WLK_TRN_WLK_WEGR', 'MD'))" -##### ,_transit_wegr,"_WEGR_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/100 + _WEGR_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/100" +##### ,_transit_wegr,"_WEGR_SKIM.get(persons.home_zone_id, persons.workplace_zone_id)/TRANSIT_SCALE_FACTOR + _WEGR_SKIM.get(persons.workplace_zone_id, persons.home_zone_id)/TRANSIT_SCALE_FACTOR" ##### ,_roundtrip_transit_time_to_work,_transit_ivt_home_to_work + _transit_ivt_work_to_home + _transit_iwait + _transit_xwait + _transit_waux + _transit_wacc + _transit_wegr ##### #,,work_auto_savings_ratio ##### ,_min_work_walk_transit,"np.where(_work_transit_available, np.minimum(_roundtrip_transit_time_to_work, _roundtrip_walk_time_to_work), _roundtrip_walk_time_to_work)" diff --git a/activitysim/examples/example_sandag/configs_3_zone/constants.yaml b/activitysim/examples/example_sandag/configs_3_zone/constants.yaml new file mode 100644 index 000000000..c680bc41e --- /dev/null +++ b/activitysim/examples/example_sandag/configs_3_zone/constants.yaml @@ -0,0 +1,6 @@ +inherit_settings: True + +# Correction for transit skim expressions +# e.g. MTC transit skims (Cube TRANPLAN skims) use scaled ints and +# therefore need to be divided by the scale factor if used in expressions +TRANSIT_SCALE_FACTOR: 1 diff --git a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv b/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv index 9427a9345..5642857a4 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv +++ b/activitysim/examples/example_sandag/configs_3_zone/tour_mode_choice_annotate_choosers_preprocessor.csv @@ -81,18 +81,18 @@ local,_DF_IS_TOUR,'tour_type' in df.columns ,hov2toll_available,(odt_skims['HOV2TOLL_VTOLL'] + dot_skims['HOV2TOLL_VTOLL'])>0 ,hov3_available,(odt_skims['HOV3_TIME']>0) & (dot_skims['HOV3_TIME']>0) ,hov3toll_available,(odt_skims['HOV3TOLL_VTOLL'] + dot_skims['HOV3TOLL_VTOLL'])>0 -#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/100>0) -#,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_WLK_KEYIVT']/100)>0) -#,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_WLK_KEYIVT']/100)>0) -#,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_WLK_KEYIVT']/100)>0) -#,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/100>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_WLK_KEYIVT']/100)>0) -#,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) -#,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/100>0) -#,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/100>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/100 + dot_skims['WLK_COM_DRV_KEYIVT']/100)>0) -#,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/100>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/100 + dot_skims['WLK_EXP_DRV_KEYIVT']/100)>0) -#,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/100>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/100 + dot_skims['WLK_HVY_DRV_KEYIVT']/100)>0) -#,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/100>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/100>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/100 + dot_skims['WLK_LRF_DRV_KEYIVT']/100)>0) -#,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/100 + dot_skims['WLK_LRF_WLK_FERRYIVT']/100)>0) +#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_commuter_available,walk_transit_available & (odt_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_express_available,walk_transit_available & (odt_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_heavyrail_available,walk_transit_available & (odt_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_lrf_available,walk_transit_available & (odt_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,walk_ferry_available,walk_lrf_available & ((odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_local_available,drive_transit_available & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_commuter_available,drive_transit_available & (odt_skims['DRV_COM_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_COM_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_express_available,drive_transit_available & (odt_skims['DRV_EXP_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_EXP_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_heavyrail_available,drive_transit_available & (odt_skims['DRV_HVY_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_HVY_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_lrf_available,drive_transit_available & (odt_skims['DRV_LRF_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & (dot_skims['WLK_LRF_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) & ((odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR)>0) +#,drive_ferry_available,drive_lrf_available & ((odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR + dot_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR)>0) ,walk_transit_available,True ,drive_transit_available,True #,, diff --git a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv b/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv index 90e1f2b19..e07c28f0b 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_sandag/configs_3_zone/trip_mode_choice_annotate_trips_preprocessor.csv @@ -81,24 +81,24 @@ dest terminal time not counted at home,_dest_terminal_time,"np.where(inbound & l ,sovtoll_available,odt_skims['SOVTOLL_VTOLL']>0 ,hov2toll_available,odt_skims['HOV2TOLL_VTOLL']>0 ,hov3toll_available,odt_skims['HOV3TOLL_VTOLL']>0 -#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/100>0) -#,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/100>0) -#,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/100>0) -#,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/100>0) -#,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/100>0) -#,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/100>0) -#,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/100>0) -#,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/100>0) -#,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/100>0) -#,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/100>0) -#,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/100>0) -#,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/100>0) -#,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/100>0) -#,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/100>0) -#,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/100>0) -#,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/100>0) -#,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/100>0) -#,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/100>0) +#,walk_local_available,walk_transit_available & (odt_skims['WLK_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_lrf_available,walk_transit_available & (i_tour_mode >= 10) & (odt_skims['WLK_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_express_available,walk_transit_available & (i_tour_mode >= 11) & (odt_skims['WLK_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_heavyrail_available,walk_transit_available & (i_tour_mode >= 12) & (odt_skims['WLK_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_commuter_available,walk_transit_available & (i_tour_mode >= 13) & (odt_skims['WLK_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_local_available_outbound,drive_transit_available & df.outbound & (odt_skims['DRV_LOC_WLK_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_local_available_inbound,drive_transit_available & ~df.outbound & (odt_skims['WLK_LOC_DRV_TOTIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_lrf_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 15) & (odt_skims['DRV_LRF_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_lrf_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 15) & (odt_skims['WLK_LRF_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_express_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 16) & (odt_skims['DRV_EXP_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_express_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 16) & (odt_skims['WLK_EXP_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_heavyrail_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 17) & (odt_skims['DRV_HVY_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_heavyrail_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 17) & (odt_skims['WLK_HVY_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_commuter_available_outbound,drive_transit_available & df.outbound & (i_tour_mode >= 18) & (odt_skims['DRV_COM_WLK_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,drive_commuter_available_inbound,drive_transit_available & ~df.outbound & (i_tour_mode >= 18) & (odt_skims['WLK_COM_DRV_KEYIVT']/TRANSIT_SCALE_FACTOR>0) +#,walk_ferry_available,walk_lrf_available & (odt_skims['WLK_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +#,_drive_ferry_available_outbound,drive_lrf_available_outbound & (odt_skims['DRV_LRF_WLK_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) +#,_drive_ferry_available_inbound,drive_lrf_available_inbound & (odt_skims['WLK_LRF_DRV_FERRYIVT']/TRANSIT_SCALE_FACTOR>0) #,drive_ferry_available,"np.where(df.outbound, _drive_ferry_available_outbound, _drive_ferry_available_inbound)" #,od_dist_walk,od_skims['DISTWALK'] #,do_dist_walk,od_skims.reverse('DISTWALK') diff --git a/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv b/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv index 160f187f8..698f2506a 100644 --- a/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv +++ b/activitysim/examples/example_sandag/configs_3_zone/tvpb_accessibility_tap_tap_.csv @@ -5,4 +5,4 @@ Description,Target,Expression ,_xwait,"out_of_vehicle_wait_time_weight * los.get_tappairs3d(df.btap, df.atap, tod, 'TRN_XWAIT_FAST')" ,_waux,"out_of_vehicle_walk_time_weight * los.get_tappairs3d(df.btap, df.atap, tod, 'TRN_WAUX_FAST')" ,_outOfVehicleTime,_iwait + _xwait + _waux -,transit_time,(_inVehicleTime + _outOfVehicleTime) / 100.0 +,transit_time,(_inVehicleTime + _outOfVehicleTime) / TRANSIT_SCALE_FACTOR diff --git a/activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv b/activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv index 6c4871be9..84449693e 100644 --- a/activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv +++ b/activitysim/examples/example_sandag/test/regress/final_1_zone_tours.csv @@ -1,72 +1,74 @@ tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose -1359025,33146,work,1,1,1,1,mandatory,1,3131.0,3259.0,12593,11.0,5.0,16.0,11.0,,,WALK_LRF,5.332929425522752,no_subtours,,1out_3in,work -1359066,33147,work,1,1,1,1,mandatory,1,3342.0,3259.0,12593,59.0,8.0,13.0,5.0,,,WALK_LOC,5.264068612322797,no_subtours,,0out_1in,work -1494647,36454,shopping,2,1,1,2,non_mandatory,1,3342.0,3134.0,13797,135.0,14.0,14.0,0.0,,11.402164298883518,DRIVEALONEFREE,0.26421748822757996,,,0out_1in,shopping -1494648,36454,shopping,2,2,2,2,non_mandatory,1,3497.0,3134.0,13797,154.0,16.0,16.0,0.0,,11.438620686093028,SHARED2FREE,0.004074446125966462,,,1out_0in,shopping -1494694,36455,work,1,1,1,1,mandatory,1,3317.0,3134.0,13797,53.0,7.0,23.0,16.0,,,SHARED3FREE,0.27729421568376966,no_subtours,,0out_0in,work -1709911,41705,eatout,1,1,1,1,non_mandatory,1,3437.0,3342.0,15777,85.0,10.0,10.0,0.0,,11.95188296655486,SHARED2FREE,0.9207535631899697,,,0out_0in,eatout -1709946,41706,business,1,1,1,1,atwork,1,3131.0,3398.0,15777,117.0,12.0,17.0,5.0,,18.501173584460286,SHARED2FREE,-0.9932355980324107,,1709985.0,0out_0in,atwork -1709985,41706,work,1,1,1,1,mandatory,1,3398.0,3342.0,15777,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.5673354988758864,business1,,0out_1in,work -2051441,50035,eatout,1,1,1,1,non_mandatory,1,3397.0,3493.0,18261,135.0,14.0,14.0,0.0,,11.483520124017437,WALK,1.1908566269114365,,,0out_0in,eatout -2051456,50035,social,1,1,1,1,joint,3,3497.0,3493.0,18261,148.0,15.0,18.0,3.0,mixed,11.78842617124043,SHARED3FREE,-3.240437907905761,,,0out_3in,social -2051466,50035,school,1,1,1,1,mandatory,1,3340.0,3493.0,18261,43.0,7.0,13.0,6.0,,,WALK_LRF,1.099879955025114,,,0out_0in,school -2051556,50037,work,1,1,1,1,mandatory,1,3314.0,3493.0,18261,43.0,7.0,13.0,6.0,,,DRIVEALONEFREE,0.21098455327032942,no_subtours,,0out_0in,work -2268889,55338,school,1,1,1,1,mandatory,1,3592.0,3592.0,19758,40.0,7.0,10.0,3.0,,,WALK,0.33183209199757385,,,0out_0in,school +1359025,33146,work,1,1,1,1,mandatory,1,3131.0,3259.0,12593,11.0,5.0,16.0,11.0,,,SHARED2FREE,0.0449709966797433,no_subtours,,2out_0in,work +1359066,33147,work,1,1,1,1,mandatory,1,3342.0,3259.0,12593,59.0,8.0,13.0,5.0,,,SHARED2FREE,0.923483008481964,no_subtours,,0out_3in,work +1494647,36454,shopping,2,1,1,2,non_mandatory,1,3342.0,3134.0,13797,135.0,14.0,14.0,0.0,,11.401050563880888,DRIVEALONEFREE,0.2595703435486286,,,0out_1in,shopping +1494648,36454,shopping,2,2,2,2,non_mandatory,1,3497.0,3134.0,13797,154.0,16.0,16.0,0.0,,11.439449857137804,SHARED2FREE,-0.0006093410329746,,,1out_0in,shopping +1494694,36455,work,1,1,1,1,mandatory,1,3317.0,3134.0,13797,53.0,7.0,23.0,16.0,,,SHARED3FREE,0.2738771147247297,no_subtours,,0out_0in,work +1709911,41705,eatout,1,1,1,1,non_mandatory,1,3437.0,3342.0,15777,85.0,10.0,10.0,0.0,,11.909980318826896,SHARED2FREE,0.7916769643872005,,,0out_0in,eatout +1709946,41706,business,1,1,1,1,atwork,1,3131.0,3398.0,15777,117.0,12.0,17.0,5.0,,18.502192217204307,SHARED2FREE,-1.0113258602519364,,1709985.0,0out_0in,atwork +1709985,41706,work,1,1,1,1,mandatory,1,3398.0,3342.0,15777,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.5212273251520757,business1,,0out_1in,work +2051456,50035,social,1,1,1,1,joint,2,3497.0,3493.0,18261,146.0,15.0,16.0,1.0,mixed,11.601381369295757,SHARED2FREE,-1.4037659073121551,,,0out_2in,social +2051466,50035,school,1,1,1,1,mandatory,1,3340.0,3493.0,18261,42.0,7.0,12.0,5.0,,,SHARED3FREE,-1.3497203179845243,,,0out_0in,school +2051468,50035,shopping,1,1,1,1,non_mandatory,1,3396.0,3493.0,18261,172.0,18.0,21.0,3.0,,11.366590261069064,DRIVEALONEFREE,0.6130171387405682,,,0out_0in,shopping +2051509,50036,shopping,1,1,1,1,non_mandatory,1,3497.0,3493.0,18261,99.0,11.0,11.0,0.0,,11.55566952538272,DRIVEALONEFREE,0.6647948166112536,,,0out_1in,shopping +2051556,50037,work,1,1,1,1,mandatory,1,3396.0,3493.0,18261,44.0,7.0,14.0,7.0,,,DRIVEALONEFREE,0.5299854110237027,no_subtours,,0out_0in,work +2268889,55338,school,1,1,1,1,mandatory,1,3592.0,3592.0,19758,40.0,7.0,10.0,3.0,,,WALK,0.3318320919975738,,,0out_0in,school 2268938,55339,work,1,1,1,1,mandatory,1,3497.0,3592.0,19758,11.0,5.0,16.0,11.0,,,WALK,0.537772515990635,no_subtours,,0out_0in,work -2373816,57897,work,1,1,1,1,mandatory,1,3176.0,3746.0,20552,50.0,7.0,20.0,13.0,,,DRIVEALONEFREE,1.0614030075251284,no_subtours,,0out_0in,work -2373841,57898,maint,1,1,1,1,atwork,1,3176.0,3278.0,20552,88.0,10.0,13.0,3.0,,11.03199025686987,DRIVEALONEFREE,-0.617424327269442,,2373857.0,0out_1in,atwork -2373857,57898,work,1,1,1,1,mandatory,1,3278.0,3746.0,20552,96.0,10.0,21.0,11.0,,,DRIVEALONEFREE,1.1036187826205084,maint,,0out_2in,work -2373898,57899,work,1,1,1,1,mandatory,1,3398.0,3746.0,20552,47.0,7.0,17.0,10.0,,,WALK_LOC,0.9530343832374898,no_subtours,,0out_0in,work -2373980,57901,work,2,1,1,2,mandatory,1,3115.0,3746.0,20552,25.0,6.0,12.0,6.0,,,WALK_LRF,1.3070797233599116,no_subtours,,0out_0in,work -2373981,57901,work,2,2,2,2,mandatory,1,3115.0,3746.0,20552,151.0,15.0,21.0,6.0,,,BIKE,1.314291228932403,no_subtours,,0out_0in,work -2563802,62531,school,1,1,1,1,mandatory,1,3460.0,3316.0,21869,180.0,20.0,20.0,0.0,,,SHARED3FREE,-0.6839143055781922,,,0out_0in,school -2563821,62532,escort,1,1,1,1,non_mandatory,1,3398.0,3316.0,21869,20.0,6.0,7.0,1.0,,12.499017464316038,SHARED2FREE,-1.4604154628072699,,,0out_0in,escort -2563862,62533,escort,3,1,1,4,non_mandatory,1,3402.0,3316.0,21869,1.0,5.0,6.0,1.0,,12.534543118040514,SHARED3FREE,-1.2940574577595376,,,0out_3in,escort -2563863,62533,escort,3,2,2,4,non_mandatory,1,3519.0,3316.0,21869,99.0,11.0,11.0,0.0,,12.46644244899947,SHARED2FREE,-0.9326373013150777,,,0out_0in,escort -2563864,62533,escort,3,3,3,4,non_mandatory,1,3398.0,3316.0,21869,135.0,14.0,14.0,0.0,,12.485466861656338,SHARED3FREE,-1.4467093822325976,,,0out_0in,escort -2563878,62533,othdiscr,1,1,4,4,non_mandatory,1,3383.0,3316.0,21869,99.0,11.0,11.0,0.0,,12.891864372541253,DRIVEALONEFREE,0.09001472929003788,,,0out_0in,othdiscr +2373816,57897,work,1,1,1,1,mandatory,1,3176.0,3746.0,20552,50.0,7.0,20.0,13.0,,,DRIVEALONEFREE,-0.28388579338221,no_subtours,,0out_0in,work +2373822,57898,eat,1,1,1,1,atwork,1,3410.0,3347.0,20552,125.0,13.0,14.0,1.0,,11.100624000564997,DRIVEALONEFREE,0.7681389958489114,,2373857.0,0out_0in,atwork +2373857,57898,work,1,1,1,1,mandatory,1,3347.0,3746.0,20552,103.0,11.0,15.0,4.0,,,DRIVEALONEFREE,0.520379765074684,eat,,0out_1in,work +2373898,57899,work,1,1,1,1,mandatory,1,3402.0,3746.0,20552,47.0,7.0,17.0,10.0,,,WALK,1.0388895039783694,no_subtours,,0out_0in,work +2373980,57901,work,2,1,1,2,mandatory,1,3115.0,3746.0,20552,24.0,6.0,11.0,5.0,,,SHARED3FREE,0.6022315390131013,no_subtours,,0out_0in,work +2373981,57901,work,2,2,2,2,mandatory,1,3115.0,3746.0,20552,148.0,15.0,18.0,3.0,,,SHARED2FREE,0.6101482774173842,no_subtours,,1out_0in,work +2563802,62531,school,1,1,1,1,mandatory,1,3460.0,3316.0,21869,180.0,20.0,20.0,0.0,,,SHARED3FREE,-0.7094603590463964,,,0out_0in,school +2563821,62532,escort,1,1,1,1,non_mandatory,1,3398.0,3316.0,21869,20.0,6.0,7.0,1.0,,12.499268454965652,SHARED2FREE,-1.46041546280727,,,0out_0in,escort +2563862,62533,escort,3,1,1,4,non_mandatory,1,3402.0,3316.0,21869,1.0,5.0,6.0,1.0,,12.534424209198946,SHARED3FREE,-1.2940574569954848,,,0out_3in,escort +2563863,62533,escort,3,2,2,4,non_mandatory,1,3519.0,3316.0,21869,99.0,11.0,11.0,0.0,,12.466623656700463,SHARED2FREE,-0.9326373013150776,,,0out_0in,escort +2563864,62533,escort,3,3,3,4,non_mandatory,1,3398.0,3316.0,21869,135.0,14.0,14.0,0.0,,12.485628371830364,SHARED3FREE,-1.4467093822325976,,,0out_0in,escort +2563878,62533,othdiscr,1,1,4,4,non_mandatory,1,3383.0,3316.0,21869,99.0,11.0,11.0,0.0,,12.893824062601642,DRIVEALONEFREE,0.0900147292900378,,,0out_0in,othdiscr 2563925,62534,school,1,1,1,1,mandatory,1,3316.0,3316.0,21869,55.0,8.0,9.0,1.0,,,SHARED3FREE,0.4282867689528016,,,0out_1in,school -2787968,67999,escort,1,1,1,2,non_mandatory,1,3410.0,3378.0,23619,124.0,13.0,13.0,0.0,,12.955551071457819,TNC_SINGLE,-0.5513480266074263,,,0out_2in,escort -2787995,67999,social,1,1,2,2,non_mandatory,1,3400.0,3378.0,23619,165.0,17.0,20.0,3.0,,11.998372378167705,WALK,0.882911292796106,,,0out_0in,social +2787968,67999,escort,1,1,1,2,non_mandatory,1,3410.0,3378.0,23619,124.0,13.0,13.0,0.0,,12.955709049606323,TNC_SINGLE,-0.5513480052414359,,,0out_2in,escort +2787995,67999,social,1,1,2,2,non_mandatory,1,3400.0,3378.0,23619,165.0,17.0,20.0,3.0,,11.998752822352907,WALK,0.8829112299755879,,,0out_0in,social 2788039,68000,work,1,1,1,1,mandatory,1,3375.0,3378.0,23619,50.0,7.0,20.0,13.0,,,WALK,0.6308240193619252,no_subtours,,0out_0in,work 3238088,78977,school,1,1,1,1,mandatory,1,3339.0,3339.0,26897,44.0,7.0,14.0,7.0,,,WALK,2.7965374977721846,,,0out_0in,school -52627721,1283602,work,1,1,1,1,mandatory,1,3410.0,3315.0,435012,64.0,8.0,18.0,10.0,,,WALK_LOC,4.425988113191916,no_subtours,,0out_0in,work -52638594,1283868,eatout,1,1,1,1,non_mandatory,1,3314.0,3314.0,435278,172.0,18.0,21.0,3.0,,11.416403433450883,WALK,1.465324908192731,,,0out_0in,eatout -52638611,1283868,maint,1,1,1,1,atwork,1,3176.0,3176.0,435278,154.0,16.0,16.0,0.0,,19.27905315079715,WALK,0.6803915404396673,,52638627.0,0out_0in,atwork -52638627,1283868,work,1,1,1,1,mandatory,1,3176.0,3314.0,435278,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,-1.239612462446479,maint,,0out_1in,work -52641825,1283946,work,1,1,1,1,mandatory,1,3619.0,3315.0,435356,48.0,7.0,18.0,11.0,,,TNC_SINGLE,5.484377744730576,no_subtours,,0out_0in,work -52668557,1284598,work,1,1,1,1,mandatory,1,3464.0,3261.0,436008,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,0.23420271313164437,no_subtours,,0out_0in,work -52734854,1286215,work,1,1,1,1,mandatory,1,3176.0,3317.0,437625,66.0,8.0,20.0,12.0,,,BIKE,5.650579292236645,no_subtours,,0out_0in,work -52897577,1290184,shopping,2,1,1,2,non_mandatory,1,3131.0,3195.0,441594,71.0,9.0,10.0,1.0,,11.509381396876263,SHARED2FREE,-0.2342783075628714,,,0out_0in,shopping -52897578,1290184,shopping,2,2,2,2,non_mandatory,1,3131.0,3195.0,441594,154.0,16.0,16.0,0.0,,11.520905632908487,WALK,-0.23777698290371516,,,0out_0in,shopping -52897583,1290184,work,1,1,1,1,mandatory,1,3176.0,3195.0,441594,91.0,10.0,16.0,6.0,,,DRIVEALONEFREE,-0.48805437992970035,no_subtours,,0out_0in,work -52915670,1290626,eat,1,1,1,1,atwork,1,3340.0,3502.0,442036,86.0,10.0,11.0,1.0,,18.51181220560061,SHARED2FREE,-0.6360145356022849,,52915705.0,0out_0in,atwork -52915705,1290626,work,1,1,1,1,mandatory,1,3502.0,3278.0,442036,64.0,8.0,18.0,10.0,,,WALK_LOC,0.11787689080245267,eat,,1out_0in,work -76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,3460.0,3598.0,721960,151.0,15.0,21.0,6.0,,12.84104064319134,WALK,0.5544063596844908,,,0out_0in,othdiscr -76379171,1862906,othdiscr,1,1,1,1,non_mandatory,1,3705.0,3598.0,721960,104.0,11.0,16.0,5.0,,12.88162617984734,WALK,0.7629838626803708,,,0out_0in,othdiscr -80946571,1974306,othdiscr,1,1,1,1,non_mandatory,1,3176.0,3396.0,760593,59.0,8.0,13.0,5.0,,13.423159321287732,SHARED3FREE,-0.008633124487292226,,,0out_0in,othdiscr -80946591,1974307,eat,1,1,1,1,atwork,1,3410.0,3176.0,760593,113.0,12.0,13.0,1.0,,19.366291432708355,TNC_SINGLE,-1.1897672915385515,,80946626.0,0out_0in,atwork -80946626,1974307,work,1,1,1,1,mandatory,1,3176.0,3396.0,760593,79.0,9.0,18.0,9.0,,,WALK_LOC,-0.11609915951322775,eat,,1out_1in,work -80946637,1974308,escort,1,1,1,1,non_mandatory,1,3315.0,3396.0,760593,0.0,5.0,5.0,0.0,,12.64294798690337,WALK,-0.49597678531247436,,,0out_0in,escort -81048440,1976791,escort,1,1,1,1,non_mandatory,1,3314.0,3281.0,761445,124.0,13.0,13.0,0.0,,12.689095144894772,SHARED2FREE,-0.8229389285404712,,,0out_0in,escort -81048476,1976792,eat,1,1,1,1,atwork,1,3176.0,3176.0,761445,85.0,10.0,10.0,0.0,,19.43138006432662,DRIVEALONEFREE,0.6823981998609486,,81048511.0,0out_0in,atwork -81048497,1976792,othdiscr,1,1,1,1,non_mandatory,1,3398.0,3281.0,761445,137.0,14.0,16.0,2.0,,12.91733770206193,DRIVEALONEFREE,0.45467384830158697,,,0out_0in,othdiscr -81048511,1976792,work,1,1,1,1,mandatory,1,3176.0,3281.0,761445,9.0,5.0,14.0,9.0,,,DRIVEALONEFREE,-0.6064734064258127,eat,,0out_0in,work -81130344,1978788,social,1,1,1,1,non_mandatory,1,3498.0,3598.0,762159,66.0,8.0,20.0,12.0,,11.91801915031476,SHARED3FREE,0.5693962968417372,,,0out_0in,social -81130399,1978790,escort,1,1,1,1,non_mandatory,1,3410.0,3598.0,762159,54.0,8.0,8.0,0.0,,12.580467044077922,SHARED2FREE,-0.7883997059635188,,,0out_0in,escort -81130429,1978790,work,1,1,1,1,mandatory,1,3574.0,3598.0,762159,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,-0.14446096760223584,no_subtours,,0out_0in,work -81130470,1978791,work,1,1,1,1,mandatory,1,3176.0,3598.0,762159,47.0,7.0,17.0,10.0,,,SHARED2FREE,-0.9916042051953946,no_subtours,,0out_0in,work -102419958,2498047,school,1,1,1,1,mandatory,1,3340.0,3383.0,922602,77.0,9.0,16.0,7.0,,,WALK_LRF,4.963760447469427,,,0out_0in,school -102420007,2498048,work,1,1,1,1,mandatory,1,3378.0,3383.0,922602,46.0,7.0,16.0,9.0,,,WALK,1.8550633432520427,no_subtours,,0out_0in,work -102420048,2498049,work,1,1,1,1,mandatory,1,3115.0,3383.0,922602,29.0,6.0,16.0,10.0,,,WALK_LRF,1.3290778428425043,no_subtours,,0out_0in,work -107509903,2622192,school,1,1,1,1,mandatory,1,3375.0,3505.0,952720,44.0,7.0,14.0,7.0,,,WALK,0.5494221161414429,,,0out_0in,school -107509922,2622193,escort,1,1,1,2,non_mandatory,1,3376.0,3505.0,952720,19.0,6.0,6.0,0.0,,12.847613841897209,SHARED2FREE,-0.7373049086600619,,,0out_0in,escort -107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,3176.0,3505.0,952720,59.0,8.0,13.0,5.0,,12.535008296435375,SHARED2FREE,-0.415217533028431,,,0out_0in,othmaint -107509987,2622194,shopping,1,1,1,1,non_mandatory,1,3131.0,3505.0,952720,75.0,9.0,14.0,5.0,,11.86062363278129,TAXI,-0.5943569758756476,,,0out_0in,shopping -107510034,2622195,work,1,1,1,1,mandatory,1,3343.0,3505.0,952720,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,0.6459860283103909,no_subtours,,0out_0in,work -116640406,2844887,work,1,1,1,1,mandatory,1,3464.0,3597.0,1028031,108.0,11.0,20.0,9.0,,,WALK,5.997890402080344,no_subtours,,0out_0in,work -120287676,2933845,school,1,1,1,1,mandatory,1,3536.0,3134.0,1048898,122.0,12.0,22.0,10.0,,,SHARED3FREE,-1.0940025666989204,,,0out_0in,school -120287717,2933846,school,1,1,1,1,mandatory,1,3536.0,3134.0,1048898,62.0,8.0,16.0,8.0,,,SHARED2FREE,-1.1275676916322641,,,0out_0in,school -120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,3272.0,3134.0,1048898,42.0,7.0,12.0,5.0,,12.771420325209561,SHARED2FREE,0.5634771825641499,,,0out_1in,othdiscr -120287807,2933848,work,1,1,1,1,mandatory,1,3536.0,3134.0,1048898,31.0,6.0,18.0,12.0,,,DRIVEALONEFREE,0.03695049800770855,no_subtours,,0out_1in,work +52627721,1283602,work,1,1,1,1,mandatory,1,3410.0,3315.0,435012,64.0,8.0,18.0,10.0,,,DRIVEALONEFREE,-0.600552076704748,no_subtours,,0out_1in,work +52638594,1283868,eatout,1,1,1,1,non_mandatory,1,3314.0,3314.0,435278,172.0,18.0,21.0,3.0,,11.417188649277556,WALK,1.465324908192731,,,0out_0in,eatout +52638611,1283868,maint,1,1,1,1,atwork,1,3176.0,3176.0,435278,154.0,16.0,16.0,0.0,,19.272682099619168,WALK,0.6803915404396673,,52638627.0,0out_0in,atwork +52638627,1283868,work,1,1,1,1,mandatory,1,3176.0,3314.0,435278,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,-1.2414138285222474,maint,,0out_1in,work +52641825,1283946,work,1,1,1,1,mandatory,1,3619.0,3315.0,435356,48.0,7.0,18.0,11.0,,,TNC_SINGLE,-0.2085333227470863,no_subtours,,0out_0in,work +52668557,1284598,work,1,1,1,1,mandatory,1,3464.0,3261.0,436008,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,-0.1035644293674547,no_subtours,,0out_0in,work +52734819,1286215,eat,1,1,1,1,atwork,1,3176.0,3176.0,437625,88.0,10.0,13.0,3.0,,19.30442083196423,WALK,0.6365738436949087,,52734854.0,0out_0in,atwork +52734854,1286215,work,1,1,1,1,mandatory,1,3176.0,3317.0,437625,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,-1.216142661769996,eat,,0out_2in,work +52897577,1290184,shopping,2,1,1,2,non_mandatory,1,3131.0,3195.0,441594,71.0,9.0,10.0,1.0,,11.507230007796329,SHARED2FREE,-0.2424171251277307,,,0out_0in,shopping +52897578,1290184,shopping,2,2,2,2,non_mandatory,1,3131.0,3195.0,441594,154.0,16.0,16.0,0.0,,11.519310381558869,WALK,-0.2459444422249825,,,0out_0in,shopping +52897583,1290184,work,1,1,1,1,mandatory,1,3176.0,3195.0,441594,91.0,10.0,16.0,6.0,,,DRIVEALONEFREE,-0.4742431906622577,no_subtours,,0out_0in,work +52915670,1290626,eat,1,1,1,1,atwork,1,3340.0,3502.0,442036,86.0,10.0,11.0,1.0,,18.513981739804255,BIKE,14.60281456532542,,52915705.0,0out_1in,atwork +52915705,1290626,work,1,1,1,1,mandatory,1,3502.0,3278.0,442036,64.0,8.0,18.0,10.0,,,BIKE,-0.0288128226314909,eat,,0out_2in,work +76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,3460.0,3598.0,721960,151.0,15.0,21.0,6.0,,12.841187222979508,WALK,0.5769914886883216,,,0out_0in,othdiscr +76379171,1862906,othdiscr,1,1,1,1,non_mandatory,1,3705.0,3598.0,721960,104.0,11.0,16.0,5.0,,12.884342308539214,WALK,0.7912388057447584,,,0out_0in,othdiscr +80946571,1974306,othdiscr,1,1,1,1,non_mandatory,1,3176.0,3396.0,760593,59.0,8.0,13.0,5.0,,13.385057255164831,SHARED2FREE,-0.2639203430422295,,,0out_0in,othdiscr +80946591,1974307,eat,1,1,1,1,atwork,1,3574.0,3316.0,760593,113.0,12.0,13.0,1.0,,18.535862390079988,TNC_SINGLE,-1.395417499795803,,80946626.0,0out_0in,atwork +80946626,1974307,work,1,1,1,1,mandatory,1,3316.0,3396.0,760593,78.0,9.0,17.0,8.0,,,SHARED2FREE,-0.1094760736283397,eat,,1out_1in,work +80946637,1974308,escort,1,1,1,1,non_mandatory,1,3315.0,3396.0,760593,0.0,5.0,5.0,0.0,,12.64221480734466,WALK,-0.4993149033005503,,,0out_0in,escort +81048440,1976791,escort,1,1,1,1,non_mandatory,1,3314.0,3281.0,761445,124.0,13.0,13.0,0.0,,12.689453354918568,SHARED2FREE,-0.8229389480344289,,,0out_0in,escort +81048476,1976792,eat,1,1,1,1,atwork,1,3176.0,3176.0,761445,85.0,10.0,10.0,0.0,,19.43069515696065,DRIVEALONEFREE,0.6823981998609486,,81048511.0,0out_0in,atwork +81048497,1976792,othdiscr,1,1,1,1,non_mandatory,1,3398.0,3281.0,761445,137.0,14.0,16.0,2.0,,12.916929977944218,DRIVEALONEFREE,0.4546141474460643,,,0out_0in,othdiscr +81048511,1976792,work,1,1,1,1,mandatory,1,3176.0,3281.0,761445,9.0,5.0,14.0,9.0,,,DRIVEALONEFREE,-0.6065542396018551,eat,,0out_0in,work +81130344,1978788,social,1,1,1,1,non_mandatory,1,3498.0,3598.0,762159,66.0,8.0,20.0,12.0,,11.919599153230113,SHARED3FREE,0.5693977967774873,,,0out_0in,social +81130399,1978790,escort,1,1,1,1,non_mandatory,1,3410.0,3598.0,762159,54.0,8.0,8.0,0.0,,12.580660633126431,SHARED2FREE,-0.7876904915091273,,,0out_0in,escort +81130429,1978790,work,1,1,1,1,mandatory,1,3574.0,3598.0,762159,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,-0.1419369306489097,no_subtours,,0out_0in,work +81130470,1978791,work,1,1,1,1,mandatory,1,3176.0,3598.0,762159,47.0,7.0,17.0,10.0,,,SHARED2FREE,-0.9914397742001736,no_subtours,,0out_0in,work +102419958,2498047,school,1,1,1,1,mandatory,1,3340.0,3383.0,922602,76.0,9.0,15.0,6.0,,,WALK_LRF,2.873022403355501,,,0out_0in,school +102420007,2498048,work,1,1,1,1,mandatory,1,3383.0,3383.0,922602,46.0,7.0,16.0,9.0,,,WALK,2.281344345550102,no_subtours,,0out_0in,work +102420048,2498049,work,1,1,1,1,mandatory,1,3115.0,3383.0,922602,29.0,6.0,16.0,10.0,,,BIKE,0.5927455937959631,no_subtours,,0out_0in,work +107509903,2622192,school,1,1,1,1,mandatory,1,3378.0,3505.0,952720,44.0,7.0,14.0,7.0,,,WALK,-0.2639461480591949,,,0out_0in,school +107509922,2622193,escort,1,1,1,2,non_mandatory,1,3376.0,3505.0,952720,19.0,6.0,6.0,0.0,,12.84512392061393,SHARED2FREE,-0.7469201256899531,,,0out_0in,escort +107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,3176.0,3505.0,952720,59.0,8.0,13.0,5.0,,12.428456977574594,DRIVEALONEFREE,-0.748210620713289,,,0out_0in,othmaint +107509987,2622194,shopping,1,1,1,1,non_mandatory,1,3131.0,3505.0,952720,75.0,9.0,14.0,5.0,,11.82505917210944,TNC_SINGLE,-0.6891536748380889,,,0out_0in,shopping +107510034,2622195,work,1,1,1,1,mandatory,1,3363.0,3505.0,952720,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,0.3860087172282153,no_subtours,,0out_0in,work +116640406,2844887,work,1,1,1,1,mandatory,1,3497.0,3597.0,1028031,107.0,11.0,19.0,8.0,,,DRIVEALONEFREE,0.1107975465014056,no_subtours,,0out_1in,work +120287676,2933845,school,1,1,1,1,mandatory,1,3536.0,3134.0,1048898,122.0,12.0,22.0,10.0,,,SHARED3FREE,-1.0938793779365912,,,0out_0in,school +120287717,2933846,school,1,1,1,1,mandatory,1,3536.0,3134.0,1048898,62.0,8.0,16.0,8.0,,,SHARED2FREE,-1.1274402981153004,,,0out_0in,school +120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,3272.0,3134.0,1048898,42.0,7.0,12.0,5.0,,12.770313936483376,SHARED2FREE,0.5634771825641499,,,0out_1in,othdiscr +120287807,2933848,work,1,1,1,1,mandatory,1,3536.0,3134.0,1048898,31.0,6.0,18.0,12.0,,,DRIVEALONEFREE,0.0371166413339574,no_subtours,,0out_1in,work 131881533,3216622,school,1,1,1,1,mandatory,1,3112.0,3098.0,1148260,138.0,14.0,17.0,3.0,,,WALK,-0.8109781504489971,,,0out_2in,univ diff --git a/activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv b/activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv index 8aca2ebd4..f66d5e1aa 100644 --- a/activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv +++ b/activitysim/examples/example_sandag/test/regress/final_1_zone_trips.csv @@ -1,17 +1,17 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum -10872201,33146,12593,work,1,True,2,3176,3259,1359025,escort,15.093681329288426,5,WALK_LOC,2.904328006657637 -10872202,33146,12593,work,2,True,2,3131,3176,1359025,work,,7,WALK_LOC,0.5056658694462993 -10872205,33146,12593,work,1,False,4,3176,3131,1359025,escort,16.402647719499498,15,WALK_LOC,0.3243018717455698 -10872206,33146,12593,work,2,False,4,3176,3176,1359025,eatout,22.420532374694446,16,WALK,3.553064217858107 -10872207,33146,12593,work,3,False,4,3176,3176,1359025,escort,21.72972650150269,16,WALK,3.553064217858107 -10872208,33146,12593,work,4,False,4,3259,3176,1359025,home,,16,WALK_LOC,2.903590136713069 -10872529,33147,12593,work,1,True,1,3342,3259,1359066,work,,8,WALK_LOC,0.1375834358256688 -10872533,33147,12593,work,1,False,2,3176,3342,1359066,escort,15.929187262808913,13,WALK_LOC,-0.15708206326912194 -10872534,33147,12593,work,2,False,2,3259,3176,1359066,home,,13,WALK_LOC,2.9041286537257456 +10872201,33146,12593,work,1,True,3,3290,3259,1359025,escort,12.50569587831954,5,WALK,0.8796640848644649 +10872202,33146,12593,work,2,True,3,3317,3290,1359025,escort,12.74437072347788,7,WALK,0.7528069371143918 +10872203,33146,12593,work,3,True,3,3131,3317,1359025,work,,7,SHARED2FREE,-0.2771584910567812 +10872205,33146,12593,work,1,False,1,3259,3131,1359025,home,,16,SHARED2FREE,-0.3682899649069351 +10872529,33147,12593,work,1,True,1,3342,3259,1359066,work,,8,SHARED2FREE,0.4187992443742946 +10872533,33147,12593,work,1,False,4,3383,3342,1359066,escort,14.576775128994838,12,SHARED2FREE,0.8686143194682551 +10872534,33147,12593,work,2,False,4,3274,3383,1359066,social,13.66341661662671,13,SHARED2FREE,0.5107943560451084 +10872535,33147,12593,work,3,False,4,3340,3274,1359066,escort,14.112546915053883,13,SHARED2FREE,0.4230067105850933 +10872536,33147,12593,work,4,False,4,3259,3340,1359066,home,,13,DRIVEALONEFREE,0.2491163354013192 11957177,36454,13797,shopping,1,True,1,3342,3134,1494647,shopping,,14,DRIVEALONEFREE,0.2941685907193185 -11957181,36454,13797,shopping,1,False,2,3574,3342,1494647,shopping,12.641799100811618,14,TAXI,-0.10899026335766256 +11957181,36454,13797,shopping,1,False,2,3574,3342,1494647,shopping,12.641799100811618,14,TAXI,-0.1089902633576625 11957182,36454,13797,shopping,2,False,2,3134,3574,1494647,home,,14,TNC_SINGLE,-0.1841764445667141 -11957185,36454,13797,shopping,1,True,2,3402,3134,1494648,escort,17.45390698273753,16,DRIVEALONEFREE,1.2790849131748439 +11957185,36454,13797,shopping,1,True,2,3402,3134,1494648,escort,17.45390698273753,16,DRIVEALONEFREE,1.279084913174844 11957186,36454,13797,shopping,2,True,2,3497,3402,1494648,shopping,,16,SHARED2FREE,1.520377820514991 11957189,36454,13797,shopping,1,False,1,3134,3497,1494648,home,,16,SHARED2FREE,1.253344921201897 11957553,36455,13797,work,1,True,1,3317,3134,1494694,work,,7,WALK,0.5467805012552107 @@ -22,111 +22,119 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 13679573,41706,15777,atwork,1,False,1,3398,3131,1709946,work,,17,SHARED2FREE,1.565177581330629 13679881,41706,15777,work,1,True,1,3398,3342,1709985,work,,8,DRIVEALONEFREE,0.229309200564582 13679885,41706,15777,work,1,False,2,3317,3398,1709985,escort,12.99906661478402,18,DRIVEALONEFREE,0.3635288368935579 -13679886,41706,15777,work,2,False,2,3342,3317,1709985,home,,19,WALK,0.19920388273033734 -16411529,50035,18261,eatout,1,True,1,3397,3493,2051441,eatout,,14,WALK,0.12625935411606823 -16411533,50035,18261,eatout,1,False,1,3493,3397,2051441,home,,14,WALK,0.15242482702152813 -16411649,50035,18261,social,1,True,1,3497,3493,2051456,social,,15,SHARED3FREE,0.5161004433004338 -16411653,50035,18261,social,1,False,4,3398,3497,2051456,social,12.435752373363133,17,SHARED3FREE,0.6235491283373512 -16411654,50035,18261,social,2,False,4,3259,3398,2051456,social,13.109363614679568,17,SHARED3FREE,0.10863108474424804 -16411655,50035,18261,social,3,False,4,3315,3259,2051456,othmaint,12.178850689443042,18,TAXI,0.6223635901533645 -16411656,50035,18261,social,4,False,4,3493,3315,2051456,home,,18,WALK,0.2709747664598304 -16411729,50035,18261,school,1,True,1,3340,3493,2051466,school,,7,WALK_LRF,1.4696656344321337 -16411733,50035,18261,school,1,False,1,3493,3340,2051466,home,,13,WALK_LRF,1.4689853433575488 -16412449,50037,18261,work,1,True,1,3314,3493,2051556,work,,7,DRIVEALONEFREE,-0.0810500687411067 -16412453,50037,18261,work,1,False,1,3493,3314,2051556,home,,13,DRIVEALONEFREE,-0.07951757122976569 +13679886,41706,15777,work,2,False,2,3342,3317,1709985,home,,19,WALK,0.1992038827303373 +16411649,50035,18261,social,1,True,1,3497,3493,2051456,social,,15,SHARED2FREE,0.8144179602536189 +16411653,50035,18261,social,1,False,3,3398,3497,2051456,social,13.607997193750748,16,SHARED2FREE,0.9055182726514672 +16411654,50035,18261,social,2,False,3,3259,3398,2051456,social,14.227902019942242,16,SHARED2FREE,0.4816403510255787 +16411655,50035,18261,social,3,False,3,3493,3259,2051456,home,,16,TAXI,0.4624895573096613 +16411729,50035,18261,school,1,True,1,3340,3493,2051466,school,,7,SHARED3FREE,-0.3581378319265033 +16411733,50035,18261,school,1,False,1,3493,3340,2051466,home,,12,DRIVEALONEFREE,-0.7018451340834048 +16411745,50035,18261,shopping,1,True,1,3396,3493,2051468,shopping,,18,DRIVEALONEFREE,0.2675492794224116 +16411749,50035,18261,shopping,1,False,1,3493,3396,2051468,home,,21,DRIVEALONEFREE,0.2641141398041625 +16412073,50036,18261,shopping,1,True,1,3497,3493,2051509,shopping,,11,WALK,0.3815001484705561 +16412077,50036,18261,shopping,1,False,2,3378,3497,2051509,escort,12.868283363745013,11,DRIVEALONEFREE,-0.1609182250241023 +16412078,50036,18261,shopping,2,False,2,3493,3378,2051509,home,,11,DRIVEALONEFREE,-0.2842450511223511 +16412449,50037,18261,work,1,True,1,3396,3493,2051556,work,,7,DRIVEALONEFREE,0.2543385882925606 +16412453,50037,18261,work,1,False,1,3493,3396,2051556,home,,14,DRIVEALONEFREE,0.2544109368585356 18151113,55338,19758,school,1,True,1,3592,3592,2268889,school,,7,WALK,-0.5037709043643227 18151117,55338,19758,school,1,False,1,3592,3592,2268889,home,,10,WALK,-0.5037709043643227 -18151505,55339,19758,work,1,True,1,3497,3592,2268938,work,,5,WALK,-0.03916734678520527 -18151509,55339,19758,work,1,False,1,3592,3497,2268938,home,,16,WALK,-0.039161801335005776 +18151505,55339,19758,work,1,True,1,3497,3592,2268938,work,,5,WALK,-0.0391673467852052 +18151509,55339,19758,work,1,False,1,3592,3497,2268938,home,,16,WALK,-0.0391618013350057 18990529,57897,20552,work,1,True,1,3176,3746,2373816,work,,7,DRIVEALONEFREE,-0.8320971690146864 -18990533,57897,20552,work,1,False,1,3746,3176,2373816,home,,20,DRIVEALONEFREE,-1.0379874213845641 -18990729,57898,20552,atwork,1,True,1,3176,3278,2373841,atwork,,10,WALK,0.6526827067858828 -18990733,57898,20552,atwork,1,False,2,3176,3176,2373841,eatout,17.593313947504814,13,WALK,2.65285618245215 -18990734,57898,20552,atwork,2,False,2,3278,3176,2373841,work,,13,DRIVEALONEFREE,0.8671513659982285 -18990857,57898,20552,work,1,True,1,3278,3746,2373857,work,,10,DRIVEALONEFREE,-0.3107965939702929 -18990861,57898,20552,work,1,False,3,3849,3278,2373857,escort,11.89535523798524,20,DRIVEALONEFREE,-0.2760277005262499 -18990862,57898,20552,work,2,False,3,3402,3849,2373857,work,12.0120329699078,21,DRIVEALONEFREE,-0.2316233118673352 -18990863,57898,20552,work,3,False,3,3746,3402,2373857,home,,21,DRIVEALONEFREE,-0.0030957573312565246 -18991185,57899,20552,work,1,True,1,3398,3746,2373898,work,,7,WALK_LOC,0.18112552097346432 -18991189,57899,20552,work,1,False,1,3746,3398,2373898,home,,17,WALK_LOC,0.16959156262056704 -18991841,57901,20552,work,1,True,1,3115,3746,2373980,work,,6,WALK_LRF,-0.0792939600689603 -18991845,57901,20552,work,1,False,1,3746,3115,2373980,home,,12,WALK_LRF,-0.08149440644886569 -18991849,57901,20552,work,1,True,1,3115,3746,2373981,work,,15,BIKE,-2.541507250261809 -18991853,57901,20552,work,1,False,1,3746,3115,2373981,home,,21,BIKE,-2.025638533604327 +18990533,57897,20552,work,1,False,1,3746,3176,2373816,home,,20,DRIVEALONEFREE,-1.037987421384564 +18990577,57898,20552,atwork,1,True,1,3410,3347,2373822,atwork,,13,DRIVEALONEFREE,0.1572164518377817 +18990581,57898,20552,atwork,1,False,1,3347,3410,2373822,work,,14,DRIVEALONEFREE,0.1565616339228507 +18990857,57898,20552,work,1,True,1,3347,3746,2373857,work,,11,DRIVEALONEFREE,-0.2916992537280374 +18990861,57898,20552,work,1,False,2,3849,3347,2373857,escort,11.83577521389007,15,DRIVEALONEFREE,-0.2521012321385745 +18990862,57898,20552,work,2,False,2,3746,3849,2373857,home,,15,DRIVEALONEFREE,-0.0911874930860481 +18991185,57899,20552,work,1,True,1,3402,3746,2373898,work,,7,WALK,-1.1548338964177454 +18991189,57899,20552,work,1,False,1,3746,3402,2373898,home,,17,WALK,-1.229178185082696 +18991841,57901,20552,work,1,True,1,3115,3746,2373980,work,,6,DRIVEALONEFREE,0.1957407771020773 +18991845,57901,20552,work,1,False,1,3746,3115,2373980,home,,11,DRIVEALONEFREE,0.2077940476290929 +18991849,57901,20552,work,1,True,2,3460,3746,2373981,othmaint,12.489995670716882,15,SHARED2FREE,0.249460922022029 +18991850,57901,20552,work,2,True,2,3115,3460,2373981,work,,16,DRIVEALONEFREE,0.1059704675141837 +18991853,57901,20552,work,1,False,1,3746,3115,2373981,home,,18,SHARED2FREE,0.2208684199770616 20510417,62531,21869,school,1,True,1,3460,3316,2563802,school,,20,SHARED3FREE,-1.4448137456466916 20510421,62531,21869,school,1,False,1,3316,3460,2563802,home,,20,WALK,-1.5207459403958272 -20510569,62532,21869,escort,1,True,1,3398,3316,2563821,escort,,6,SHARED2FREE,0.17869598454022895 -20510573,62532,21869,escort,1,False,1,3316,3398,2563821,home,,7,DRIVEALONEFREE,0.20045149458253975 +20510569,62532,21869,escort,1,True,1,3398,3316,2563821,escort,,6,SHARED2FREE,0.1786959845402289 +20510573,62532,21869,escort,1,False,1,3316,3398,2563821,home,,7,DRIVEALONEFREE,0.2004514945825397 20510897,62533,21869,escort,1,True,1,3402,3316,2563862,escort,,5,SHARED3FREE,0.7112775892674524 20510901,62533,21869,escort,1,False,4,3339,3402,2563862,shopping,14.091505819104302,6,SHARED3FREE,0.983638157033812 -20510902,62533,21869,escort,2,False,4,3505,3339,2563862,eatout,15.083442995634531,6,SHARED3FREE,0.9900387210738842 -20510903,62533,21869,escort,3,False,4,3536,3505,2563862,escort,15.770594264076767,6,SHARED2FREE,0.7686807718987421 +20510902,62533,21869,escort,2,False,4,3505,3339,2563862,eatout,15.083442995634533,6,SHARED3FREE,0.9900387210738842 +20510903,62533,21869,escort,3,False,4,3536,3505,2563862,escort,15.770594264076768,6,SHARED2FREE,0.7686807718987421 20510904,62533,21869,escort,4,False,4,3316,3536,2563862,home,,6,SHARED3FREE,0.5576305299679216 20510905,62533,21869,escort,1,True,1,3519,3316,2563863,escort,,11,SHARED2FREE,0.4802732339996155 -20510909,62533,21869,escort,1,False,1,3316,3519,2563863,home,,11,SHARED2FREE,0.48172719450388046 +20510909,62533,21869,escort,1,False,1,3316,3519,2563863,home,,11,SHARED2FREE,0.4817271945038804 20510913,62533,21869,escort,1,True,1,3398,3316,2563864,escort,,14,SHARED2FREE,0.5739525286758124 20510917,62533,21869,escort,1,False,1,3316,3398,2563864,home,,14,DRIVEALONEFREE,0.5863871055816903 -20511025,62533,21869,othdiscr,1,True,1,3383,3316,2563878,othdiscr,,11,DRIVEALONEFREE,-0.03084494420474515 -20511029,62533,21869,othdiscr,1,False,1,3316,3383,2563878,home,,11,DRIVEALONEFREE,-0.041632432068551474 +20511025,62533,21869,othdiscr,1,True,1,3383,3316,2563878,othdiscr,,11,DRIVEALONEFREE,-0.0308449442047451 +20511029,62533,21869,othdiscr,1,False,1,3316,3383,2563878,home,,11,DRIVEALONEFREE,-0.0416324320685514 20511401,62534,21869,school,1,True,1,3316,3316,2563925,school,,8,WALK,-0.7509920520073805 20511405,62534,21869,school,1,False,2,3363,3316,2563925,shopping,5.114003115539301,9,SHARED3FREE,-1.3212813014651676 20511406,62534,21869,school,2,False,2,3316,3363,2563925,home,,9,WALK,-1.2832199854288413 -22303745,67999,23619,escort,1,True,1,3410,3378,2787968,escort,,13,TNC_SHARED,0.23700032543064115 -22303749,67999,23619,escort,1,False,3,3822,3410,2787968,eatout,13.590731138095238,13,TNC_SINGLE,-0.021948901498790654 -22303750,67999,23619,escort,2,False,3,3412,3822,2787968,escort,12.238309717426683,13,TNC_SINGLE,-0.1578164617938099 -22303751,67999,23619,escort,3,False,3,3378,3412,2787968,home,,13,TNC_SINGLE,0.11060084957709816 -22303961,67999,23619,social,1,True,1,3400,3378,2787995,social,,17,WALK,0.02192713181801061 -22303965,67999,23619,social,1,False,1,3378,3400,2787995,home,,20,WALK,0.021942143743783993 -22304313,68000,23619,work,1,True,1,3375,3378,2788039,work,,7,WALK,0.16348447779787817 -22304317,68000,23619,work,1,False,1,3378,3375,2788039,home,,20,WALK,0.16348447779787817 +22303745,67999,23619,escort,1,True,1,3410,3378,2787968,escort,,13,TNC_SHARED,0.2370003254306411 +22303749,67999,23619,escort,1,False,3,3822,3410,2787968,eatout,12.793892361239552,13,TNC_SINGLE,-0.0219489014987906 +22303750,67999,23619,escort,2,False,3,3412,3822,2787968,escort,12.238309717426684,13,TNC_SINGLE,-0.1578164617938099 +22303751,67999,23619,escort,3,False,3,3378,3412,2787968,home,,13,TNC_SINGLE,0.1106008495770981 +22303961,67999,23619,social,1,True,1,3400,3378,2787995,social,,17,WALK,0.0219271318180106 +22303965,67999,23619,social,1,False,1,3378,3400,2787995,home,,20,WALK,0.0219421437437839 +22304313,68000,23619,work,1,True,1,3375,3378,2788039,work,,7,WALK,0.1634844777978781 +22304317,68000,23619,work,1,False,1,3378,3375,2788039,home,,20,WALK,0.1634844777978781 25904705,78977,26897,school,1,True,1,3339,3339,3238088,school,,7,WALK,0.3224231573284306 25904709,78977,26897,school,1,False,1,3339,3339,3238088,home,,14,WALK,0.3224234088552417 -421021769,1283602,435012,work,1,True,1,3410,3315,52627721,work,,8,WALK_LOC,-0.16124299300875816 -421021773,1283602,435012,work,1,False,1,3315,3410,52627721,home,,18,WALK_LOC,-0.16105740528135934 -421108753,1283868,435278,eatout,1,True,1,3314,3314,52638594,eatout,,18,WALK,0.24082656084284254 -421108757,1283868,435278,eatout,1,False,1,3314,3314,52638594,home,,21,WALK,0.24082693725080942 -421108889,1283868,435278,atwork,1,True,1,3176,3176,52638611,atwork,,16,WALK,4.4100666659595396 -421108893,1283868,435278,atwork,1,False,1,3176,3176,52638611,work,,16,WALK,4.4100666659595396 +421021769,1283602,435012,work,1,True,1,3410,3315,52627721,work,,8,DRIVEALONEFREE,-0.7004813704631009 +421021773,1283602,435012,work,1,False,2,3314,3410,52627721,social,10.399929897293942,14,DRIVEALONEFREE,-0.7505287871501307 +421021774,1283602,435012,work,2,False,2,3315,3314,52627721,home,,18,DRIVEALONEFREE,0.1928245919289156 +421108753,1283868,435278,eatout,1,True,1,3314,3314,52638594,eatout,,18,WALK,0.2408265608428425 +421108757,1283868,435278,eatout,1,False,1,3314,3314,52638594,home,,21,WALK,0.2408269372508094 +421108889,1283868,435278,atwork,1,True,1,3176,3176,52638611,atwork,,16,WALK,4.41006666595954 +421108893,1283868,435278,atwork,1,False,1,3176,3176,52638611,work,,16,WALK,4.41006666595954 421109017,1283868,435278,work,1,True,1,3176,3314,52638627,work,,9,DRIVEALONEFREE,-0.8523980347217911 421109021,1283868,435278,work,1,False,2,3176,3176,52638627,work,14.061231380263717,18,WALK,2.2993936628468057 421109022,1283868,435278,work,2,False,2,3314,3176,52638627,home,,18,DRIVEALONEFREE,-0.8993747376742869 -421134601,1283946,435356,work,1,True,1,3619,3315,52641825,work,,7,TNC_SINGLE,0.6342716938742265 -421134605,1283946,435356,work,1,False,1,3315,3619,52641825,home,,18,WALK_EXP,0.6021932439904537 -421348457,1284598,436008,work,1,True,1,3464,3261,52668557,work,,9,DRIVEALONEFREE,-0.19905580141140403 -421348461,1284598,436008,work,1,False,1,3261,3464,52668557,home,,18,DRIVEALONEFREE,-0.18990025215791376 -421878833,1286215,437625,work,1,True,1,3176,3317,52734854,work,,8,BIKE,1.5385609725258718 -421878837,1286215,437625,work,1,False,1,3317,3176,52734854,home,,20,BIKE,1.483694510266984 +421134601,1283946,435356,work,1,True,1,3619,3315,52641825,work,,7,TNC_SINGLE,0.3084730568128902 +421134605,1283946,435356,work,1,False,1,3315,3619,52641825,home,,18,TNC_SINGLE,0.1688496731153186 +421348457,1284598,436008,work,1,True,1,3464,3261,52668557,work,,9,DRIVEALONEFREE,-0.199055801411404 +421348461,1284598,436008,work,1,False,1,3261,3464,52668557,home,,18,DRIVEALONEFREE,-0.1899002521579137 +421878553,1286215,437625,atwork,1,True,1,3176,3176,52734819,atwork,,10,WALK,4.410066095224354 +421878557,1286215,437625,atwork,1,False,1,3176,3176,52734819,work,,13,WALK,4.410066095224354 +421878833,1286215,437625,work,1,True,1,3176,3317,52734854,work,,8,DRIVEALONEFREE,-0.7732401280141026 +421878837,1286215,437625,work,1,False,3,3398,3176,52734854,othmaint,13.419982162114987,17,DRIVEALONEFREE,-1.237602447505927 +421878838,1286215,437625,work,2,False,3,3397,3398,52734854,othmaint,12.007055480943816,19,DRIVEALONEFREE,0.3283001989153217 +421878839,1286215,437625,work,3,False,3,3317,3397,52734854,home,,19,WALK,0.1924420139714097 423180617,1290184,441594,shopping,1,True,1,3131,3195,52897577,shopping,,9,SHARED2FREE,0.2504977565051515 -423180621,1290184,441594,shopping,1,False,1,3195,3131,52897577,home,,10,SHARED2FREE,0.23242459998329676 +423180621,1290184,441594,shopping,1,False,1,3195,3131,52897577,home,,10,SHARED2FREE,0.2324245999832967 423180625,1290184,441594,shopping,1,True,1,3131,3195,52897578,shopping,,16,WALK,-1.798118965544273 423180629,1290184,441594,shopping,1,False,1,3195,3131,52897578,home,,16,WALK,-1.891099527786877 423180665,1290184,441594,work,1,True,1,3176,3195,52897583,work,,10,WALK,0.855151926514014 -423180669,1290184,441594,work,1,False,1,3195,3176,52897583,home,,16,WALK,0.9414955852678495 -423325361,1290626,442036,atwork,1,True,1,3340,3502,52915670,atwork,,10,SHARED2FREE,1.666457793991416 -423325365,1290626,442036,atwork,1,False,1,3502,3340,52915670,work,,11,WALK,1.6452174642331692 -423325641,1290626,442036,work,1,True,2,3176,3278,52915705,work,16.071763368931975,8,WALK_LOC,3.0177943417178286 -423325642,1290626,442036,work,2,True,2,3502,3176,52915705,work,,8,WALK_LOC,-0.4182063924242873 -423325645,1290626,442036,work,1,False,1,3278,3502,52915705,home,,18,WALK_LOC,-0.20109150965144637 +423180669,1290184,441594,work,1,False,1,3195,3176,52897583,home,,16,WALK,0.9414955852678496 +423325361,1290626,442036,atwork,1,True,1,3340,3502,52915670,atwork,,10,BIKE,0.1045867418182057 +423325365,1290626,442036,atwork,1,False,2,3176,3340,52915670,othmaint,16.13095576158003,11,BIKE,-0.524564641781727 +423325366,1290626,442036,atwork,2,False,2,3502,3176,52915670,work,,11,BIKE,3.276825955580493 +423325641,1290626,442036,work,1,True,1,3502,3278,52915705,work,,8,BIKE,-1.0096302214124555 +423325645,1290626,442036,work,1,False,3,3176,3502,52915705,othdiscr,13.17876515323236,18,BIKE,-1.546730219362895 +423325646,1290626,442036,work,2,False,3,3176,3176,52915705,othmaint,21.761313694214984,18,WALK,3.1160978512473827 +423325647,1290626,442036,work,3,False,3,3278,3176,52915705,home,,18,BIKE,2.471064663969691 611033041,1862905,721960,othdiscr,1,True,1,3460,3598,76379130,othdiscr,,15,WALK,-1.2345810242068171 611033045,1862905,721960,othdiscr,1,False,1,3598,3460,76379130,home,,21,WALK,-0.9300094952392008 611033369,1862906,721960,othdiscr,1,True,1,3705,3598,76379171,othdiscr,,11,WALK,-0.8123168897915816 611033373,1862906,721960,othdiscr,1,False,1,3598,3705,76379171,home,,16,WALK,-0.6995691553182372 -647572569,1974306,760593,othdiscr,1,True,1,3176,3396,80946571,othdiscr,,8,SHARED3FREE,-0.1794382983740736 -647572573,1974306,760593,othdiscr,1,False,1,3396,3176,80946571,home,,13,SHARED3FREE,-0.23504145627419848 -647572729,1974307,760593,atwork,1,True,1,3410,3176,80946591,atwork,,12,WALK_LOC,1.186525164142472 -647572733,1974307,760593,atwork,1,False,1,3176,3410,80946591,work,,13,WALK_EXP,1.198242226299319 -647573009,1974307,760593,work,1,True,2,3176,3396,80946626,shopping,19.36477986616174,9,WALK_LOC,2.842281965494783 -647573010,1974307,760593,work,2,True,2,3176,3176,80946626,work,,10,WALK,3.553252546460909 -647573013,1974307,760593,work,1,False,2,3176,3176,80946626,work,23.506765663122902,17,WALK,3.5532255705711853 -647573014,1974307,760593,work,2,False,2,3396,3176,80946626,home,,18,WALK_LOC,2.8519214610082857 -647573097,1974308,760593,escort,1,True,1,3315,3396,80946637,escort,,5,WALK,-0.36456103377547694 +647572569,1974306,760593,othdiscr,1,True,1,3176,3396,80946571,othdiscr,,8,SHARED2FREE,-0.2717262829172214 +647572573,1974306,760593,othdiscr,1,False,1,3396,3176,80946571,home,,13,SHARED2FREE,-0.3489570743749159 +647572729,1974307,760593,atwork,1,True,1,3574,3316,80946591,atwork,,12,TNC_SINGLE,0.4703651261640751 +647572733,1974307,760593,atwork,1,False,1,3316,3574,80946591,work,,13,TNC_SINGLE,0.3277430310717987 +647573009,1974307,760593,work,1,True,2,3400,3396,80946626,shopping,12.693917677139323,9,SHARED2FREE,0.8051982291809634 +647573010,1974307,760593,work,2,True,2,3316,3400,80946626,work,,10,SHARED2FREE,0.3488831452765107 +647573013,1974307,760593,work,1,False,2,3347,3316,80946626,work,14.620790396011603,16,WALK,0.9232328252322722 +647573014,1974307,760593,work,2,False,2,3396,3347,80946626,home,,17,DRIVEALONEFREE,0.2236952870492791 +647573097,1974308,760593,escort,1,True,1,3315,3396,80946637,escort,,5,WALK,-0.3645610337754769 647573101,1974308,760593,escort,1,False,1,3396,3315,80946637,home,,5,WALK,-0.364561268866216 648387521,1976791,761445,escort,1,True,1,3314,3281,81048440,escort,,13,DRIVEALONEFREE,0.5167039708675432 648387525,1976791,761445,escort,1,False,1,3281,3314,81048440,home,,13,SHARED2FREE,0.5107954158143181 648387809,1976792,761445,atwork,1,True,1,3176,3176,81048476,atwork,,10,WALK,2.6706195748553934 648387813,1976792,761445,atwork,1,False,1,3176,3176,81048476,work,,10,WALK,2.6706195748553934 648387977,1976792,761445,othdiscr,1,True,1,3398,3281,81048497,othdiscr,,14,DRIVEALONEFREE,0.3504071806347388 -648387981,1976792,761445,othdiscr,1,False,1,3281,3398,81048497,home,,16,DRIVEALONEFREE,0.40484463051195335 +648387981,1976792,761445,othdiscr,1,False,1,3281,3398,81048497,home,,16,DRIVEALONEFREE,0.4048446305119533 648388089,1976792,761445,work,1,True,1,3176,3281,81048511,work,,5,WALK,-0.5120632445711146 648388093,1976792,761445,work,1,False,1,3281,3176,81048511,home,,14,DRIVEALONEFREE,-0.641534040627387 649042753,1978788,762159,social,1,True,1,3498,3598,81130344,social,,8,SHARED3FREE,0.7936471422825703 @@ -134,38 +142,39 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 649043193,1978790,762159,escort,1,True,1,3410,3598,81130399,escort,,8,SHARED2FREE,0.5634483478050719 649043197,1978790,762159,escort,1,False,1,3598,3410,81130399,home,,8,WALK,0.5562021020505422 649043433,1978790,762159,work,1,True,1,3574,3598,81130429,work,,8,DRIVEALONEFREE,-0.3302917776537384 -649043437,1978790,762159,work,1,False,1,3598,3574,81130429,home,,17,DRIVEALONEFREE,-0.32814362884286347 +649043437,1978790,762159,work,1,False,1,3598,3574,81130429,home,,17,DRIVEALONEFREE,-0.3281436288428634 649043761,1978791,762159,work,1,True,1,3176,3598,81130470,work,,7,DRIVEALONEFREE,-0.0843772599901702 649043765,1978791,762159,work,1,False,1,3598,3176,81130470,home,,17,SHARED2FREE,-0.3190406065799127 -819359665,2498047,922602,school,1,True,1,3340,3383,102419958,school,,9,WALK_LRF,1.6706161179735755 -819359669,2498047,922602,school,1,False,1,3383,3340,102419958,home,,16,WALK_LRF,1.6700244897917944 -819360057,2498048,922602,work,1,True,1,3378,3383,102420007,work,,7,WALK,-0.13456278597486782 -819360061,2498048,922602,work,1,False,1,3383,3378,102420007,home,,16,WALK,-0.13456831014826334 -819360385,2498049,922602,work,1,True,1,3115,3383,102420048,work,,6,WALK_LRF,-0.08360445355178359 -819360389,2498049,922602,work,1,False,1,3383,3115,102420048,home,,16,WALK_LRF,-0.05921629297972695 -860079225,2622192,952720,school,1,True,1,3375,3505,107509903,school,,7,WALK,0.0964808201354442 -860079229,2622192,952720,school,1,False,1,3505,3375,107509903,home,,14,WALK,0.09647983156011154 +819359665,2498047,922602,school,1,True,1,3340,3383,102419958,school,,9,WALK,0.0009173412871742 +819359669,2498047,922602,school,1,False,1,3383,3340,102419958,home,,15,WALK_LRF,0.0131918923923682 +819360057,2498048,922602,work,1,True,1,3383,3383,102420007,work,,7,WALK,0.6883532259078515 +819360061,2498048,922602,work,1,False,1,3383,3383,102420007,home,,16,WALK,0.688353222623592 +819360385,2498049,922602,work,1,True,1,3115,3383,102420048,work,,6,BIKE,-1.6833752824565824 +819360389,2498049,922602,work,1,False,1,3383,3115,102420048,home,,16,BIKE,-1.406426614368767 +860079225,2622192,952720,school,1,True,1,3378,3505,107509903,school,,7,WALK,-0.3024781465081771 +860079229,2622192,952720,school,1,False,1,3505,3378,107509903,home,,14,WALK,-0.3024751617974213 860079377,2622193,952720,escort,1,True,1,3376,3505,107509922,escort,,6,DRIVEALONEFREE,0.5385189014110604 860079381,2622193,952720,escort,1,False,1,3505,3376,107509922,home,,6,SHARED2FREE,0.5341382626062584 -860079529,2622193,952720,othmaint,1,True,1,3176,3505,107509941,othmaint,,8,SHARED2FREE,0.6260270503650781 -860079533,2622193,952720,othmaint,1,False,1,3505,3176,107509941,home,,13,SHARED2FREE,0.6471780282809932 -860079897,2622194,952720,shopping,1,True,1,3131,3505,107509987,shopping,,9,TNC_SINGLE,0.5884396750912873 -860079901,2622194,952720,shopping,1,False,1,3505,3131,107509987,home,,14,TNC_SINGLE,0.5045716371064428 -860080273,2622195,952720,work,1,True,1,3343,3505,107510034,work,,8,DRIVEALONEFREE,0.07283220516452811 -860080277,2622195,952720,work,1,False,1,3505,3343,107510034,home,,17,DRIVEALONEFREE,-0.026653167825918853 -933123249,2844887,1028031,work,1,True,1,3464,3597,116640406,work,,11,WALK,-0.5119594850444773 -933123253,2844887,1028031,work,1,False,1,3597,3464,116640406,home,,20,WALK,-0.5804495137233229 -962301409,2933845,1048898,school,1,True,1,3536,3134,120287676,school,,12,SHARED3FREE,-1.8253639025348933 -962301413,2933845,1048898,school,1,False,1,3134,3536,120287676,home,,22,SHARED3FREE,-1.8000359821275593 +860079529,2622193,952720,othmaint,1,True,1,3176,3505,107509941,othmaint,,8,DRIVEALONEFREE,0.4138401650211165 +860079533,2622193,952720,othmaint,1,False,1,3505,3176,107509941,home,,13,TAXI,0.4250830718473121 +860079897,2622194,952720,shopping,1,True,1,3131,3505,107509987,shopping,,9,TNC_SINGLE,0.0622325149119334 +860079901,2622194,952720,shopping,1,False,1,3505,3131,107509987,home,,14,TNC_SINGLE,-0.0694219397215716 +860080273,2622195,952720,work,1,True,1,3363,3505,107510034,work,,8,DRIVEALONEFREE,0.1605413267290312 +860080277,2622195,952720,work,1,False,1,3505,3363,107510034,home,,17,DRIVEALONEFREE,0.0796511780693144 +933123249,2844887,1028031,work,1,True,1,3497,3597,116640406,work,,11,DRIVEALONEFREE,-0.0640441703152012 +933123253,2844887,1028031,work,1,False,2,3410,3497,116640406,eatout,11.389365156532708,18,DRIVEALONEFREE,-0.2404374327805191 +933123254,2844887,1028031,work,2,False,2,3597,3410,116640406,home,,19,DRIVEALONEFREE,-0.1519509037830223 +962301409,2933845,1048898,school,1,True,1,3536,3134,120287676,school,,12,SHARED3FREE,-1.8253639025348931 +962301413,2933845,1048898,school,1,False,1,3134,3536,120287676,home,,22,SHARED3FREE,-1.800035982127559 962301737,2933846,1048898,school,1,True,1,3536,3134,120287717,school,,8,WALK,-2.1374786293216195 962301741,2933846,1048898,school,1,False,1,3134,3536,120287717,home,,16,SHARED2FREE,-2.1233856637960864 -962302017,2933847,1048898,othdiscr,1,True,1,3272,3134,120287752,othdiscr,,7,WALK,0.9723049345876643 +962302017,2933847,1048898,othdiscr,1,True,1,3272,3134,120287752,othdiscr,,7,WALK,0.9723049345876644 962302021,2933847,1048898,othdiscr,1,False,2,3399,3272,120287752,eatout,14.6590717484754,12,WALK,1.2236873568553286 962302022,2933847,1048898,othdiscr,2,False,2,3134,3399,120287752,home,,12,DRIVEALONEFREE,0.8157972936115587 962302457,2933848,1048898,work,1,True,1,3536,3134,120287807,work,,6,DRIVEALONEFREE,-0.1804673034758373 -962302461,2933848,1048898,work,1,False,2,3460,3536,120287807,escort,12.158136904433114,17,DRIVEALONEFREE,-0.23821604547144257 +962302461,2933848,1048898,work,1,False,2,3460,3536,120287807,escort,12.158136904433114,17,DRIVEALONEFREE,-0.2382160454714425 962302462,2933848,1048898,work,2,False,2,3134,3460,120287807,home,,18,DRIVEALONEFREE,-0.3950033708360319 1055052265,3216622,1148260,univ,1,True,1,3112,3098,131881533,univ,,14,WALK,-1.7221539064441829 -1055052269,3216622,1148260,univ,1,False,3,3112,3112,131881533,univ,9.085902358698817,16,WALK,-0.5510518904620926 -1055052270,3216622,1148260,univ,2,False,3,3176,3112,131881533,escort,14.025105605160245,17,WALK,-0.6958229859822935 +1055052269,3216622,1148260,univ,1,False,3,3112,3112,131881533,univ,9.085902358698815,16,WALK,-0.5510518904620926 +1055052270,3216622,1148260,univ,2,False,3,3176,3112,131881533,escort,14.025105605160244,17,WALK,-0.6958229859822935 1055052271,3216622,1148260,univ,3,False,3,3098,3176,131881533,home,,17,WALK,2.3965343775069243 diff --git a/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv b/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv index 9a7f326bb..c58aab933 100644 --- a/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv +++ b/activitysim/examples/example_sandag/test/regress/final_2_zone_tours.csv @@ -1,78 +1,79 @@ tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose -1359025,33146,work,1,1,1,1,mandatory,1,1100.0,560.0,12593,24.0,6.0,11.0,5.0,,,WALK_LOC,4.992740820190236,no_subtours,,0out_1in,work -1359066,33147,work,1,1,1,1,mandatory,1,1070.0,560.0,12593,61.0,8.0,15.0,7.0,,,WALK_LOC,5.47640669570735,no_subtours,,0out_1in,work -1494647,36454,shopping,2,1,1,2,non_mandatory,1,723.0,580.0,13797,135.0,14.0,14.0,0.0,,11.546493666990555,DRIVEALONEFREE,0.15319089892900378,,,0out_1in,shopping -1494648,36454,shopping,2,2,2,2,non_mandatory,1,729.0,580.0,13797,151.0,15.0,21.0,6.0,,11.568482640106433,WALK,-0.1456338005031894,,,0out_2in,shopping -1494680,36455,othdiscr,1,1,1,1,non_mandatory,1,587.0,580.0,13797,159.0,16.0,21.0,5.0,,12.811351052170956,SHARED2FREE,0.9330192771890069,,,0out_2in,othdiscr +1359025,33146,work,1,1,1,1,mandatory,1,1100.0,560.0,12593,13.0,5.0,18.0,13.0,,,SHARED2FREE,0.3653801991721616,no_subtours,,2out_0in,work +1359066,33147,work,1,1,1,1,mandatory,1,1070.0,560.0,12593,59.0,8.0,13.0,5.0,,,SHARED3FREE,0.0994117679786244,no_subtours,,0out_3in,work +1494647,36454,shopping,2,1,1,2,non_mandatory,1,723.0,580.0,13797,135.0,14.0,14.0,0.0,,11.54675919468374,DRIVEALONEFREE,0.1529407042214395,,,0out_1in,shopping +1494648,36454,shopping,2,2,2,2,non_mandatory,1,729.0,580.0,13797,151.0,15.0,21.0,6.0,,11.568558678347042,WALK,-0.1460596676048219,,,0out_2in,shopping +1494680,36455,othdiscr,1,1,1,1,non_mandatory,1,587.0,580.0,13797,159.0,16.0,21.0,5.0,,12.81165575629481,SHARED2FREE,0.9330192771890068,,,0out_2in,othdiscr 1494694,36455,work,1,1,1,1,mandatory,1,555.0,580.0,13797,58.0,8.0,12.0,4.0,,,WALK,0.438267562530625,no_subtours,,0out_0in,work -1709911,41705,eatout,1,1,1,1,non_mandatory,1,1070.0,645.0,15777,76.0,9.0,15.0,6.0,,12.00167567675964,SHARED2FREE,-0.46063888593474556,,,0out_0in,eatout -1709946,41706,business,1,1,1,1,atwork,1,1070.0,712.0,15777,116.0,12.0,16.0,4.0,,18.5810914509117,SHARED3FREE,-1.0620273595158904,,1709985.0,0out_0in,atwork -1709985,41706,work,1,1,1,1,mandatory,1,712.0,645.0,15777,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.650607886600058,business1,,0out_1in,work -2051441,50035,eatout,1,1,1,1,non_mandatory,1,746.0,757.0,18261,127.0,13.0,16.0,3.0,,11.57244574656017,WALK,1.1730869449073673,,,0out_0in,eatout -2051448,50035,eatout,1,1,1,1,joint,3,999.0,757.0,18261,156.0,16.0,18.0,2.0,mixed,11.621816598406262,BIKE,-4.147719279635277,,,0out_2in,eatout -2051466,50035,school,1,1,1,1,mandatory,1,919.0,757.0,18261,43.0,7.0,13.0,6.0,,,WALK_EXP,0.021538313983639704,,,0out_0in,school -2051556,50037,work,1,1,1,1,mandatory,1,1070.0,757.0,18261,46.0,7.0,16.0,9.0,,,WALK_LRF,0.1212167759990911,no_subtours,,0out_0in,work +1709911,41705,eatout,1,1,1,1,non_mandatory,1,1070.0,645.0,15777,76.0,9.0,15.0,6.0,,11.958812988658847,SHARED2FREE,-0.7287326640119223,,,0out_0in,eatout +1709946,41706,business,1,1,1,1,atwork,1,1070.0,712.0,15777,116.0,12.0,16.0,4.0,,18.56981131689576,SHARED2FREE,-1.1732310040119578,,1709985.0,0out_0in,atwork +1709985,41706,work,1,1,1,1,mandatory,1,712.0,645.0,15777,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.4605169952714734,business1,,0out_1in,work +2051448,50035,eatout,1,1,1,1,joint,3,986.0,757.0,18261,156.0,16.0,18.0,2.0,mixed,11.523078896520504,BIKE,-4.315590233974143,,,0out_1in,eatout +2051466,50035,school,1,1,1,1,mandatory,1,919.0,757.0,18261,43.0,7.0,13.0,6.0,,,SHARED3FREE,-1.4990945285645794,,,0out_0in,school +2051468,50035,shopping,1,1,1,1,non_mandatory,1,991.0,757.0,18261,175.0,19.0,19.0,0.0,,11.42312659118132,DRIVEALONEFREE,-0.497433560680673,,,0out_0in,shopping +2051504,50036,othmaint,1,1,1,1,non_mandatory,1,874.0,757.0,18261,44.0,7.0,14.0,7.0,,12.121531465064445,DRIVEALONEFREE,-0.2081441870570267,,,0out_0in,othmaint +2051556,50037,work,1,1,1,1,mandatory,1,1070.0,757.0,18261,46.0,7.0,16.0,9.0,,,DRIVEALONEFREE,-1.2594160646317012,no_subtours,,0out_0in,work 2268889,55338,school,1,1,1,1,mandatory,1,699.0,794.0,19758,40.0,7.0,10.0,3.0,,,BIKE,-0.8648143979597476,,,0out_0in,school -2268938,55339,work,1,1,1,1,mandatory,1,699.0,794.0,19758,11.0,5.0,16.0,11.0,,,WALK,0.17157961837412644,no_subtours,,0out_0in,work -2373816,57897,work,1,1,1,1,mandatory,1,1070.0,829.0,20552,50.0,7.0,20.0,13.0,,,DRIVEALONEFREE,0.9434613816902598,no_subtours,,0out_0in,work -2373841,57898,maint,1,1,1,1,atwork,1,923.0,913.0,20552,88.0,10.0,13.0,3.0,,11.202405666783465,DRIVEALONEFREE,0.2638451507110187,,2373857.0,0out_1in,atwork -2373857,57898,work,1,1,1,1,mandatory,1,913.0,829.0,20552,97.0,10.0,22.0,12.0,,,DRIVEALONEFREE,1.2027855646943666,maint,,0out_2in,work -2373898,57899,work,1,1,1,1,mandatory,1,687.0,829.0,20552,47.0,7.0,17.0,10.0,,,WALK_LRF,1.6818772601019591,no_subtours,,0out_0in,work -2373980,57901,work,2,1,1,2,mandatory,1,706.0,829.0,20552,24.0,6.0,11.0,5.0,,,BIKE,0.930628434327518,no_subtours,,0out_0in,work -2373981,57901,work,2,2,2,2,mandatory,1,706.0,829.0,20552,148.0,15.0,18.0,3.0,,,SHARED2FREE,0.9269977868666633,no_subtours,,1out_0in,work +2268938,55339,work,1,1,1,1,mandatory,1,699.0,794.0,19758,11.0,5.0,16.0,11.0,,,WALK,0.1715796183741264,no_subtours,,0out_0in,work +2373816,57897,work,1,1,1,1,mandatory,1,1070.0,829.0,20552,50.0,7.0,20.0,13.0,,,DRIVEALONEFREE,-0.3033814075242954,no_subtours,,0out_0in,work +2373857,57898,work,1,1,1,1,mandatory,1,913.0,829.0,20552,102.0,11.0,14.0,3.0,,,DRIVEALONEFREE,0.5102304832959351,no_subtours,,0out_0in,work +2373898,57899,work,1,1,1,1,mandatory,1,687.0,829.0,20552,47.0,7.0,17.0,10.0,,,WALK,1.2941088699931569,no_subtours,,0out_0in,work +2373980,57901,work,2,1,1,2,mandatory,1,706.0,829.0,20552,24.0,6.0,11.0,5.0,,,SHARED2FREE,0.5267612467815088,no_subtours,,0out_0in,work +2373981,57901,work,2,2,2,2,mandatory,1,706.0,829.0,20552,148.0,15.0,18.0,3.0,,,DRIVEALONEFREE,0.5171713294052263,no_subtours,,1out_0in,work 2563802,62531,school,1,1,1,1,mandatory,1,938.0,900.0,21869,180.0,20.0,20.0,0.0,,,SHARED3FREE,-0.5831759151226724,,,0out_0in,school -2563821,62532,escort,1,1,1,1,non_mandatory,1,647.0,900.0,21869,20.0,6.0,7.0,1.0,,12.514106025827692,SHARED2FREE,-1.286443043101258,,,0out_0in,escort -2563862,62533,escort,3,1,1,4,non_mandatory,1,695.0,900.0,21869,1.0,5.0,6.0,1.0,,12.556774848881231,SHARED3FREE,-1.2677737648720784,,,0out_3in,escort -2563863,62533,escort,3,2,2,4,non_mandatory,1,518.0,900.0,21869,99.0,11.0,11.0,0.0,,12.489882430779174,SHARED2FREE,-1.6806379499549269,,,0out_0in,escort -2563864,62533,escort,3,3,3,4,non_mandatory,1,844.0,900.0,21869,135.0,14.0,14.0,0.0,,12.522428851988876,SHARED3FREE,-1.4301638123863791,,,0out_0in,escort -2563878,62533,othdiscr,1,1,4,4,non_mandatory,1,1070.0,900.0,21869,100.0,11.0,12.0,1.0,,12.911626592939612,DRIVEALONEFREE,-0.12067644461343223,,,0out_0in,othdiscr -2563925,62534,school,1,1,1,1,mandatory,1,916.0,900.0,21869,55.0,8.0,9.0,1.0,,,SHARED2FREE,-0.03968765816614382,,,0out_1in,school -2787968,67999,escort,1,1,1,2,non_mandatory,1,767.0,973.0,23619,124.0,13.0,13.0,0.0,,12.987400853718018,TNC_SINGLE,-0.7501532775900004,,,0out_2in,escort -2787995,67999,social,1,1,2,2,non_mandatory,1,909.0,973.0,23619,165.0,17.0,20.0,3.0,,12.08384066215117,WALK,0.806107090149921,,,0out_0in,social -2788039,68000,work,1,1,1,1,mandatory,1,1044.0,973.0,23619,49.0,7.0,19.0,12.0,,,SHARED2FREE,-0.007467847267855256,no_subtours,,1out_1in,work +2563821,62532,escort,1,1,1,1,non_mandatory,1,647.0,900.0,21869,20.0,6.0,7.0,1.0,,12.514093908053251,SHARED2FREE,-1.2864424308629347,,,0out_0in,escort +2563862,62533,escort,3,1,1,4,non_mandatory,1,695.0,900.0,21869,1.0,5.0,6.0,1.0,,12.556775320374928,SHARED3FREE,-1.2677737648720784,,,0out_3in,escort +2563863,62533,escort,3,2,2,4,non_mandatory,1,518.0,900.0,21869,99.0,11.0,11.0,0.0,,12.489879701235449,SHARED2FREE,-1.680637950443967,,,0out_0in,escort +2563864,62533,escort,3,3,3,4,non_mandatory,1,844.0,900.0,21869,135.0,14.0,14.0,0.0,,12.522412736170066,SHARED3FREE,-1.4300972456209138,,,0out_0in,escort +2563878,62533,othdiscr,1,1,4,4,non_mandatory,1,1070.0,900.0,21869,100.0,11.0,12.0,1.0,,12.911650593748837,DRIVEALONEFREE,-0.1200993715843141,,,0out_0in,othdiscr +2563925,62534,school,1,1,1,1,mandatory,1,916.0,900.0,21869,55.0,8.0,9.0,1.0,,,SHARED2FREE,-0.0396876581661438,,,0out_1in,school +2787968,67999,escort,1,1,1,2,non_mandatory,1,767.0,973.0,23619,124.0,13.0,13.0,0.0,,12.987514805613186,TNC_SINGLE,-0.7501380977388656,,,0out_2in,escort +2787995,67999,social,1,1,2,2,non_mandatory,1,909.0,973.0,23619,165.0,17.0,20.0,3.0,,12.08477180044538,WALK,0.8061070912771485,,,0out_0in,social +2788039,68000,work,1,1,1,1,mandatory,1,1044.0,973.0,23619,49.0,7.0,19.0,12.0,,,SHARED2FREE,-0.00710718228818,no_subtours,,1out_1in,work 3238088,78977,school,1,1,1,1,mandatory,1,984.0,1081.0,26897,44.0,7.0,14.0,7.0,,,WALK,0.1211514950748291,,,0out_0in,school -3238143,78979,eat,1,1,1,1,atwork,1,881.0,854.0,26897,72.0,9.0,11.0,2.0,,18.479994798173305,WALK,0.38135167542407433,,3238178.0,0out_0in,atwork +3238143,78979,eat,1,1,1,1,atwork,1,881.0,854.0,26897,72.0,9.0,11.0,2.0,,18.47738334324841,WALK,0.3813516754240743,,3238178.0,0out_0in,atwork 3238178,78979,work,1,1,1,1,mandatory,1,854.0,1081.0,26897,48.0,7.0,18.0,11.0,,,DRIVEALONEFREE,0.2432316978223525,eat,,0out_0in,work -52627721,1283602,work,1,1,1,1,mandatory,1,1078.0,521.0,435012,64.0,8.0,18.0,10.0,,,WALK_LOC,4.447593163547603,no_subtours,,0out_0in,work -52638594,1283868,eatout,1,1,1,1,non_mandatory,1,1070.0,537.0,435278,172.0,18.0,21.0,3.0,,11.521775740705763,SHARED2FREE,-1.150492971974613,,,1out_0in,eatout -52638611,1283868,maint,1,1,1,1,atwork,1,713.0,923.0,435278,154.0,16.0,16.0,0.0,,18.336079820249267,DRIVEALONEFREE,-0.23882257004467622,,52638627.0,0out_0in,atwork -52638627,1283868,work,1,1,1,1,mandatory,1,923.0,537.0,435278,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,-0.4354514149383069,maint,,0out_1in,work -52641825,1283946,work,1,1,1,1,mandatory,1,1005.0,523.0,435356,48.0,7.0,18.0,11.0,,,TNC_SINGLE,-0.1532450959492688,no_subtours,,0out_0in,work +52627721,1283602,work,1,1,1,1,mandatory,1,1078.0,521.0,435012,64.0,8.0,18.0,10.0,,,DRIVEALONEFREE,-1.1965658496185003,no_subtours,,0out_1in,work +52638594,1283868,eatout,1,1,1,1,non_mandatory,1,1070.0,537.0,435278,172.0,18.0,21.0,3.0,,11.521727382377154,SHARED2FREE,-1.151913509733255,,,1out_0in,eatout +52638611,1283868,maint,1,1,1,1,atwork,1,713.0,923.0,435278,154.0,16.0,16.0,0.0,,18.33610036731193,DRIVEALONEFREE,-0.2710302783470972,,52638627.0,0out_0in,atwork +52638627,1283868,work,1,1,1,1,mandatory,1,923.0,537.0,435278,79.0,9.0,18.0,9.0,,,DRIVEALONEFREE,-0.4354536642674751,maint,,0out_1in,work +52641825,1283946,work,1,1,1,1,mandatory,1,1005.0,523.0,435356,48.0,7.0,18.0,11.0,,,TNC_SINGLE,-0.1532451917905631,no_subtours,,0out_0in,work 52668557,1284598,work,1,1,1,1,mandatory,1,551.0,562.0,436008,80.0,9.0,19.0,10.0,,,DRIVEALONEFREE,0.5965069673099715,no_subtours,,0out_0in,work -52734854,1286215,work,1,1,1,1,mandatory,1,606.0,656.0,437625,65.0,8.0,19.0,11.0,,,WALK,5.4483550669789,no_subtours,,0out_0in,work -52897544,1290184,business,1,1,1,1,atwork,1,763.0,952.0,441594,99.0,11.0,11.0,0.0,,17.59326017735067,DRIVEALONEFREE,-0.264099859249602,,52897583.0,0out_0in,atwork -52897550,1290184,eatout,1,1,4,4,non_mandatory,1,911.0,1096.0,441594,181.0,20.0,21.0,1.0,,11.69995954626601,SHARED2FREE,0.6485235550944931,,,0out_1in,eatout -52897569,1290184,othdiscr,3,1,1,4,non_mandatory,1,684.0,1096.0,441594,19.0,6.0,6.0,0.0,,12.835893900602928,DRIVEALONEFREE,0.005946705031133849,,,0out_0in,othdiscr -52897570,1290184,othdiscr,3,2,2,4,non_mandatory,1,762.0,1096.0,441594,185.0,21.0,22.0,1.0,,12.858603033841208,DRIVEALONEFREE,-0.10278746819682409,,,0out_0in,othdiscr -52897571,1290184,othdiscr,3,3,3,4,non_mandatory,1,739.0,1096.0,441594,189.0,23.0,23.0,0.0,,12.825154938055896,DRIVEALONEFREE,0.03597016156602173,,,1out_0in,othdiscr -52897583,1290184,work,1,1,1,1,mandatory,1,952.0,1096.0,441594,81.0,9.0,20.0,11.0,,,DRIVEALONEFREE,-0.2792777743060196,business1,,0out_1in,work -52915670,1290626,eat,1,1,1,1,atwork,1,1070.0,1070.0,442036,86.0,10.0,11.0,1.0,,19.412718920227366,WALK,0.547115313877139,,52915705.0,0out_1in,atwork -52915705,1290626,work,1,1,1,1,mandatory,1,1070.0,1100.0,442036,64.0,8.0,18.0,10.0,,,WALK_LRF,0.36138306307468776,eat,,1out_0in,work -76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,975.0,960.0,721960,151.0,15.0,21.0,6.0,,12.829356917016566,SHARED3FREE,0.2303852968540254,,,0out_0in,othdiscr -76379171,1862906,othdiscr,1,1,1,1,non_mandatory,1,980.0,960.0,721960,104.0,11.0,16.0,5.0,,12.895303988946173,SHARED2FREE,0.24423825204126468,,,0out_1in,othdiscr -80946571,1974306,othdiscr,1,1,1,1,non_mandatory,1,564.0,509.0,760593,62.0,8.0,16.0,8.0,,13.436119620508903,SHARED3FREE,1.189502176430743,,,0out_0in,othdiscr -80946591,1974307,eat,1,1,1,1,atwork,1,816.0,696.0,760593,113.0,12.0,13.0,1.0,,18.711722676323017,BIKE,12.990071043726633,,80946626.0,0out_0in,atwork -80946626,1974307,work,1,1,1,1,mandatory,1,696.0,509.0,760593,79.0,9.0,18.0,9.0,,,BIKE,0.46795477762466037,eat,,1out_0in,work -80946637,1974308,escort,1,1,1,1,non_mandatory,1,675.0,509.0,760593,0.0,5.0,5.0,0.0,,12.665949175468075,WALK,-0.41459776817045607,,,0out_0in,escort -81048440,1976791,escort,1,1,1,1,non_mandatory,1,908.0,613.0,761445,124.0,13.0,13.0,0.0,,12.728324386511781,SHARED2FREE,-0.9702869492493462,,,0out_0in,escort -81048476,1976792,eat,1,1,1,1,atwork,1,540.0,517.0,761445,70.0,9.0,9.0,0.0,,18.065032209797042,DRIVEALONEFREE,0.33497110493504234,,81048511.0,0out_0in,atwork -81048508,1976792,social,1,1,1,1,non_mandatory,1,919.0,613.0,761445,140.0,14.0,19.0,5.0,,11.826578199659894,SHARED3FREE,0.06385369964540089,,,0out_0in,social -81048511,1976792,work,1,1,1,1,mandatory,1,517.0,613.0,761445,7.0,5.0,12.0,7.0,,,DRIVEALONEFREE,0.02390065053081168,eat,,0out_0in,work -81130344,1978788,social,1,1,1,1,non_mandatory,1,739.0,961.0,762159,66.0,8.0,20.0,12.0,,11.948017389450415,SHARED3FREE,0.6702666113108362,,,0out_0in,social -81130399,1978790,escort,1,1,1,1,non_mandatory,1,992.0,961.0,762159,54.0,8.0,8.0,0.0,,12.598882585134904,SHARED2FREE,-0.8826267041365171,,,0out_0in,escort -81130429,1978790,work,1,1,1,1,mandatory,1,681.0,961.0,762159,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,-0.01707574715844974,no_subtours,,0out_0in,work -81130470,1978791,work,1,1,1,1,mandatory,1,1070.0,961.0,762159,47.0,7.0,17.0,10.0,,,SHARED2FREE,-0.9281578583209085,no_subtours,,0out_0in,work -102419958,2498047,school,1,1,1,1,mandatory,1,924.0,730.0,922602,77.0,9.0,16.0,7.0,,,WALK_LRF,4.411389205937621,,,0out_0in,school +52734819,1286215,eat,1,1,1,1,atwork,1,1077.0,606.0,437625,88.0,10.0,13.0,3.0,,17.962217038040098,DRIVEALONEFREE,-1.0786066119567437,,52734854.0,0out_0in,atwork +52734854,1286215,work,1,1,1,1,mandatory,1,606.0,656.0,437625,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.3408891965486361,eat,,0out_2in,work +52897544,1290184,business,1,1,1,1,atwork,1,763.0,952.0,441594,99.0,11.0,11.0,0.0,,17.592814487706022,DRIVEALONEFREE,-0.2638632561642185,,52897583.0,0out_0in,atwork +52897550,1290184,eatout,1,1,4,4,non_mandatory,1,911.0,1096.0,441594,181.0,20.0,21.0,1.0,,11.700287720091795,SHARED2FREE,0.6485235550944931,,,0out_1in,eatout +52897569,1290184,othdiscr,3,1,1,4,non_mandatory,1,684.0,1096.0,441594,19.0,6.0,6.0,0.0,,12.836219984957616,DRIVEALONEFREE,0.0093805386459194,,,0out_0in,othdiscr +52897570,1290184,othdiscr,3,2,2,4,non_mandatory,1,762.0,1096.0,441594,185.0,21.0,22.0,1.0,,12.85871370026547,DRIVEALONEFREE,-0.1004630916429411,,,0out_0in,othdiscr +52897571,1290184,othdiscr,3,3,3,4,non_mandatory,1,739.0,1096.0,441594,189.0,23.0,23.0,0.0,,12.825359631493514,DRIVEALONEFREE,0.0359701615660217,,,1out_0in,othdiscr +52897583,1290184,work,1,1,1,1,mandatory,1,952.0,1096.0,441594,81.0,9.0,20.0,11.0,,,DRIVEALONEFREE,-0.2792777788795509,business1,,0out_1in,work +52915670,1290626,eat,1,1,1,1,atwork,1,1070.0,1070.0,442036,86.0,10.0,11.0,1.0,,19.40513898570057,WALK,0.547115313877139,,52915705.0,0out_1in,atwork +52915705,1290626,work,1,1,1,1,mandatory,1,1070.0,1100.0,442036,64.0,8.0,18.0,10.0,,,WALK_LRF,-0.4685879450126991,eat,,1out_0in,work +76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,975.0,960.0,721960,151.0,15.0,21.0,6.0,,12.829462211744756,SHARED3FREE,0.2299060311424891,,,0out_0in,othdiscr +76379171,1862906,othdiscr,1,1,1,1,non_mandatory,1,980.0,960.0,721960,104.0,11.0,16.0,5.0,,12.895497944116078,SHARED2FREE,0.2443961854625458,,,0out_1in,othdiscr +80946571,1974306,othdiscr,1,1,1,1,non_mandatory,1,564.0,509.0,760593,62.0,8.0,16.0,8.0,,13.397578524110267,SHARED3FREE,1.1642500220088072,,,0out_0in,othdiscr +80946591,1974307,eat,1,1,1,1,atwork,1,816.0,689.0,760593,113.0,12.0,13.0,1.0,,18.70693256093076,TNC_SINGLE,-1.432827192540037,,80946626.0,0out_0in,atwork +80946626,1974307,work,1,1,1,1,mandatory,1,689.0,509.0,760593,79.0,9.0,18.0,9.0,,,WALK,0.3673413126495182,eat,,1out_0in,work +80946637,1974308,escort,1,1,1,1,non_mandatory,1,675.0,509.0,760593,0.0,5.0,5.0,0.0,,12.6651030847365,WALK,-0.417143996582791,,,0out_0in,escort +81048440,1976791,escort,1,1,1,1,non_mandatory,1,908.0,613.0,761445,124.0,13.0,13.0,0.0,,12.72832397470647,SHARED2FREE,-0.9702678003678288,,,0out_0in,escort +81048476,1976792,eat,1,1,1,1,atwork,1,540.0,517.0,761445,70.0,9.0,9.0,0.0,,18.0619307578632,DRIVEALONEFREE,0.3349711049350423,,81048511.0,0out_0in,atwork +81048508,1976792,social,1,1,1,1,non_mandatory,1,919.0,613.0,761445,140.0,14.0,19.0,5.0,,11.82639731675964,SHARED3FREE,0.063951375172509,,,0out_0in,social +81048511,1976792,work,1,1,1,1,mandatory,1,517.0,613.0,761445,7.0,5.0,12.0,7.0,,,DRIVEALONEFREE,0.0241590723636635,eat,,0out_0in,work +81130344,1978788,social,1,1,1,1,non_mandatory,1,739.0,961.0,762159,66.0,8.0,20.0,12.0,,11.9479963819628,SHARED3FREE,0.6703246497228009,,,0out_0in,social +81130399,1978790,escort,1,1,1,1,non_mandatory,1,992.0,961.0,762159,54.0,8.0,8.0,0.0,,12.598954383934002,SHARED2FREE,-0.8826226647160393,,,0out_0in,escort +81130429,1978790,work,1,1,1,1,mandatory,1,681.0,961.0,762159,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,-0.0169777251226961,no_subtours,,0out_0in,work +81130470,1978791,work,1,1,1,1,mandatory,1,1070.0,961.0,762159,47.0,7.0,17.0,10.0,,,SHARED2FREE,-0.928003496988582,no_subtours,,0out_0in,work +102419958,2498047,school,1,1,1,1,mandatory,1,851.0,730.0,922602,77.0,9.0,16.0,7.0,,,WALK,2.0017504625659783,,,0out_0in,school 102420007,2498048,work,1,1,1,1,mandatory,1,722.0,730.0,922602,46.0,7.0,16.0,9.0,,,WALK,2.055671714033067,no_subtours,,0out_0in,work -102420048,2498049,work,1,1,1,1,mandatory,1,763.0,730.0,922602,29.0,6.0,16.0,10.0,,,BIKE,2.2091489400460276,no_subtours,,0out_0in,work -107509903,2622192,school,1,1,1,1,mandatory,1,992.0,1025.0,952720,44.0,7.0,14.0,7.0,,,WALK,0.45587295883932566,,,0out_0in,school -107509922,2622193,escort,1,1,1,2,non_mandatory,1,773.0,1025.0,952720,19.0,6.0,6.0,0.0,,12.866904432169989,SHARED2FREE,-0.7001189540955738,,,0out_0in,escort -107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,550.0,1025.0,952720,61.0,8.0,15.0,7.0,,12.56502298286147,DRIVEALONEFREE,-0.07186683243895249,,,0out_0in,othmaint -107509987,2622194,shopping,1,1,1,1,non_mandatory,1,989.0,1025.0,952720,72.0,9.0,11.0,2.0,,11.929269758100192,WALK_LRF,0.611855928520119,,,0out_0in,shopping +102420048,2498049,work,1,1,1,1,mandatory,1,755.0,730.0,922602,29.0,6.0,16.0,10.0,,,WALK,1.157766391073298,no_subtours,,0out_0in,work +107509903,2622192,school,1,1,1,1,mandatory,1,997.0,1025.0,952720,44.0,7.0,14.0,7.0,,,SHARED3FREE,-0.1774843622416207,,,0out_0in,school +107509922,2622193,escort,1,1,1,2,non_mandatory,1,773.0,1025.0,952720,19.0,6.0,6.0,0.0,,12.864427008033694,SHARED2FREE,-0.7023079893536955,,,0out_0in,escort +107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,550.0,1025.0,952720,61.0,8.0,15.0,7.0,,12.464179851550291,DRIVEALONEFREE,-0.0718658205254766,,,0out_0in,othmaint +107509987,2622194,shopping,1,1,1,1,non_mandatory,1,989.0,1025.0,952720,72.0,9.0,11.0,2.0,,11.89419969827446,WALK,0.5420719730248779,,,0out_0in,shopping 107510034,2622195,work,1,1,1,1,mandatory,1,1021.0,1025.0,952720,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,0.5725252120237364,no_subtours,,0out_0in,work -116640406,2844887,work,1,1,1,1,mandatory,1,821.0,846.0,1028031,109.0,11.0,21.0,10.0,,,WALK,6.09342476610226,no_subtours,,0out_0in,work -120287676,2933845,school,1,1,1,1,mandatory,1,563.0,574.0,1048898,121.0,12.0,21.0,9.0,,,WALK,0.06746422642459422,,,0out_0in,school -120287717,2933846,school,1,1,1,1,mandatory,1,515.0,574.0,1048898,62.0,8.0,16.0,8.0,,,SHARED2FREE,-1.1032044609164289,,,0out_0in,school -120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,623.0,574.0,1048898,42.0,7.0,12.0,5.0,,12.842403586034807,DRIVEALONEFREE,0.13341511843310172,,,0out_1in,othdiscr +116640406,2844887,work,1,1,1,1,mandatory,1,821.0,846.0,1028031,109.0,11.0,21.0,10.0,,,DRIVEALONEFREE,0.35881282856704,no_subtours,,0out_1in,work +120287676,2933845,school,1,1,1,1,mandatory,1,563.0,574.0,1048898,121.0,12.0,21.0,9.0,,,WALK,0.0674642264245942,,,0out_0in,school +120287717,2933846,school,1,1,1,1,mandatory,1,515.0,574.0,1048898,62.0,8.0,16.0,8.0,,,SHARED2FREE,-1.10324431187674,,,0out_0in,school +120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,623.0,574.0,1048898,42.0,7.0,12.0,5.0,,12.842166431288351,DRIVEALONEFREE,0.1313944840147255,,,0out_1in,othdiscr 120287807,2933848,work,1,1,1,1,mandatory,1,502.0,574.0,1048898,31.0,6.0,18.0,12.0,,,DRIVEALONEFREE,0.2481327510805355,no_subtours,,0out_1in,work 131881533,3216622,school,1,1,1,1,mandatory,1,1074.0,1076.0,1148260,136.0,14.0,15.0,1.0,,,WALK,-0.5000951875907141,,,0out_2in,univ diff --git a/activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv b/activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv index 4266ecd8a..f22f1c787 100644 --- a/activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv +++ b/activitysim/examples/example_sandag/test/regress/final_2_zone_trips.csv @@ -1,71 +1,70 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum -10872201,33146,12593,work,1,True,1,1100,560,1359025,work,,6,WALK_LOC,-0.005454735797869436 -10872205,33146,12593,work,1,False,2,638,1100,1359025,escort,13.653215787298686,11,WALK_LOC,0.2527797595546389 -10872206,33146,12593,work,2,False,2,560,638,1359025,home,,11,WALK,0.30249535512264275 -10872529,33147,12593,work,1,True,1,1070,560,1359066,work,,8,WALK_LOC,1.3454912424198129 -10872533,33147,12593,work,1,False,2,1070,1070,1359066,escort,16.695446596004093,15,WALK,2.047593682625909 -10872534,33147,12593,work,2,False,2,560,1070,1359066,home,,15,WALK_LOC,1.346486830904328 -11957177,36454,13797,shopping,1,True,1,723,580,1494647,shopping,,14,DRIVEALONEFREE,0.17959628639436204 -11957181,36454,13797,shopping,1,False,2,803,723,1494647,shopping,12.311513280490422,14,DRIVEALONEFREE,0.24098301049584345 -11957182,36454,13797,shopping,2,False,2,580,803,1494647,home,,14,TNC_SINGLE,0.09288382465179322 +10872201,33146,12593,work,1,True,3,919,560,1359025,escort,13.785227555497102,5,SHARED2FREE,0.1010691700000322 +10872202,33146,12593,work,2,True,3,997,919,1359025,escort,14.800826647980395,7,WALK,0.9197060691621816 +10872203,33146,12593,work,3,True,3,1100,997,1359025,work,,7,WALK,0.82889632223554 +10872205,33146,12593,work,1,False,1,560,1100,1359025,home,,18,SHARED2FREE,0.1467435629678679 +10872529,33147,12593,work,1,True,1,1070,560,1359066,work,,8,SHARED3FREE,-0.4079095023060143 +10872533,33147,12593,work,1,False,4,1070,1070,1359066,escort,13.64047730651845,12,WALK,1.909059896050356 +10872534,33147,12593,work,2,False,4,1070,1070,1359066,social,14.024445122110302,13,WALK,1.9166764346188128 +10872535,33147,12593,work,3,False,4,1070,1070,1359066,escort,13.382025653482817,13,WALK,1.9166764346188128 +10872536,33147,12593,work,4,False,4,560,1070,1359066,home,,13,DRIVEALONEFREE,-0.3973368955091486 +11957177,36454,13797,shopping,1,True,1,723,580,1494647,shopping,,14,DRIVEALONEFREE,0.179596286394362 +11957181,36454,13797,shopping,1,False,2,803,723,1494647,shopping,12.311513280490422,14,DRIVEALONEFREE,0.2409830104958434 +11957182,36454,13797,shopping,2,False,2,580,803,1494647,home,,14,TNC_SINGLE,0.0928838246517932 11957185,36454,13797,shopping,1,True,1,729,580,1494648,shopping,,15,WALK,-1.7031016034742517 -11957189,36454,13797,shopping,1,False,3,553,729,1494648,shopping,7.1633385174846556,20,WALK,-2.3051362156832558 -11957190,36454,13797,shopping,2,False,3,627,553,1494648,shopping,12.132294962728002,21,WALK,0.05827411085396209 +11957189,36454,13797,shopping,1,False,3,553,729,1494648,shopping,7.163338517484656,20,WALK,-2.305136215683256 +11957190,36454,13797,shopping,2,False,3,627,553,1494648,shopping,12.132294962728002,21,WALK,0.058274110853962 11957191,36454,13797,shopping,3,False,3,580,627,1494648,home,,21,WALK,0.2535949467857011 11957441,36455,13797,othdiscr,1,True,1,587,580,1494680,othdiscr,,16,SHARED2FREE,1.0398658929316622 11957445,36455,13797,othdiscr,1,False,3,756,587,1494680,othmaint,15.249247256839514,21,SHARED2FREE,0.7096157747159312 11957446,36455,13797,othdiscr,2,False,3,648,756,1494680,social,15.113132471205256,21,SHARED2FREE,0.9397952540243504 -11957447,36455,13797,othdiscr,3,False,3,580,648,1494680,home,,21,SHARED2FREE,0.9782981839701123 +11957447,36455,13797,othdiscr,3,False,3,580,648,1494680,home,,21,SHARED2FREE,0.9782981839701124 11957553,36455,13797,work,1,True,1,555,580,1494694,work,,8,WALK,0.3634416376281795 11957557,36455,13797,work,1,False,1,580,555,1494694,home,,12,WALK,0.3634848237755095 -13679289,41705,15777,eatout,1,True,1,1070,645,1709911,eatout,,9,DRIVEALONEFREE,0.33225829451467775 +13679289,41705,15777,eatout,1,True,1,1070,645,1709911,eatout,,9,DRIVEALONEFREE,0.3322582945146777 13679293,41705,15777,eatout,1,False,1,645,1070,1709911,home,,15,SHARED2FREE,0.2798579035187319 -13679569,41706,15777,atwork,1,True,1,1070,712,1709946,atwork,,12,SHARED3FREE,1.9211287099796566 -13679573,41706,15777,atwork,1,False,1,712,1070,1709946,work,,16,SHARED3FREE,1.8611573942310626 -13679881,41706,15777,work,1,True,1,712,645,1709985,work,,8,DRIVEALONEFREE,0.17465241000776272 -13679885,41706,15777,work,1,False,2,1058,712,1709985,escort,12.880657454713987,18,DRIVEALONEFREE,-0.266796751882562 +13679569,41706,15777,atwork,1,True,1,1070,712,1709946,atwork,,12,WALK,1.7140165672695504 +13679573,41706,15777,atwork,1,False,1,712,1070,1709946,work,,16,SHARED2FREE,1.656392941325861 +13679881,41706,15777,work,1,True,1,712,645,1709985,work,,8,DRIVEALONEFREE,0.1746524100077627 +13679885,41706,15777,work,1,False,2,1058,712,1709985,escort,12.880657454713988,18,DRIVEALONEFREE,-0.266796751882562 13679886,41706,15777,work,2,False,2,645,1058,1709985,home,,19,DRIVEALONEFREE,-0.2819678461804502 -16411529,50035,18261,eatout,1,True,1,746,757,2051441,eatout,,13,WALK,-0.5847657002288363 -16411533,50035,18261,eatout,1,False,1,757,746,2051441,home,,16,WALK,-0.584760791845437 -16411585,50035,18261,eatout,1,True,1,999,757,2051448,eatout,,16,BIKE,-1.0174936832640575 -16411589,50035,18261,eatout,1,False,3,702,999,2051448,escort,10.940877781222033,17,BIKE,-0.7378408703087941 -16411590,50035,18261,eatout,2,False,3,563,702,2051448,othdiscr,14.904211944818913,18,BIKE,0.9598565594162818 -16411591,50035,18261,eatout,3,False,3,757,563,2051448,home,,18,BIKE,0.6100983034797897 -16411729,50035,18261,school,1,True,1,919,757,2051466,school,,7,WALK_EXP,-0.38046580997674223 -16411733,50035,18261,school,1,False,1,757,919,2051466,home,,13,WALK_LOC,-0.3793432577365121 -16412449,50037,18261,work,1,True,1,1070,757,2051556,work,,7,WALK_LRF,1.7844480141935442 -16412453,50037,18261,work,1,False,1,757,1070,2051556,home,,16,WALK_LOC,1.7928643356794272 +16411585,50035,18261,eatout,1,True,1,986,757,2051448,eatout,,16,BIKE,-0.7708542602773313 +16411589,50035,18261,eatout,1,False,2,676,986,2051448,escort,11.34839696405484,17,BIKE,-0.3634178122038118 +16411590,50035,18261,eatout,2,False,2,757,676,2051448,home,,18,BIKE,0.4283597212315027 +16411729,50035,18261,school,1,True,1,919,757,2051466,school,,7,SHARED3FREE,-0.6140707131031844 +16411733,50035,18261,school,1,False,1,757,919,2051466,home,,13,DRIVEALONEFREE,-0.609643926614725 +16411745,50035,18261,shopping,1,True,1,991,757,2051468,shopping,,19,DRIVEALONEFREE,-0.4638089980043311 +16411749,50035,18261,shopping,1,False,1,757,991,2051468,home,,19,DRIVEALONEFREE,-0.4562758366247869 +16412033,50036,18261,othmaint,1,True,1,874,757,2051504,othmaint,,7,TAXI,0.188953061283284 +16412037,50036,18261,othmaint,1,False,1,757,874,2051504,home,,14,TAXI,0.1657532098786489 +16412449,50037,18261,work,1,True,1,1070,757,2051556,work,,7,DRIVEALONEFREE,-1.0310939939934904 +16412453,50037,18261,work,1,False,1,757,1070,2051556,home,,16,DRIVEALONEFREE,-1.44707562881012 18151113,55338,19758,school,1,True,1,699,794,2268889,school,,7,BIKE,-0.4634581318660159 18151117,55338,19758,school,1,False,1,794,699,2268889,home,,10,BIKE,-0.4634578978044055 -18151505,55339,19758,work,1,True,1,699,794,2268938,work,,5,WALK,-0.9284068498238057 -18151509,55339,19758,work,1,False,1,794,699,2268938,home,,16,WALK,-0.9284024967078643 +18151505,55339,19758,work,1,True,1,699,794,2268938,work,,5,WALK,-0.9284068498238056 +18151509,55339,19758,work,1,False,1,794,699,2268938,home,,16,WALK,-0.9284024967078645 18990529,57897,20552,work,1,True,1,1070,829,2373816,work,,7,DRIVEALONEFREE,-0.8344257716032069 18990533,57897,20552,work,1,False,1,829,1070,2373816,home,,20,DRIVEALONEFREE,-1.0366342786903855 -18990729,57898,20552,atwork,1,True,1,923,913,2373841,atwork,,10,DRIVEALONEFREE,-0.09070911521937304 -18990733,57898,20552,atwork,1,False,2,949,923,2373841,eatout,10.744925275565434,13,DRIVEALONEFREE,-0.31105434289520095 -18990734,57898,20552,atwork,2,False,2,913,949,2373841,work,,13,DRIVEALONEFREE,-0.3939653633830485 -18990857,57898,20552,work,1,True,1,913,829,2373857,work,,10,DRIVEALONEFREE,-0.30438642250793185 -18990861,57898,20552,work,1,False,3,716,913,2373857,escort,11.901137007662392,21,DRIVEALONEFREE,-0.06068046888397125 -18990862,57898,20552,work,2,False,3,641,716,2373857,work,12.273718845532713,22,WALK,0.18683478975390844 -18990863,57898,20552,work,3,False,3,829,641,2373857,home,,22,DRIVEALONEFREE,-0.14926372409090063 -18991185,57899,20552,work,1,True,1,687,829,2373898,work,,7,WALK_LRF,3.0095328365005356 -18991189,57899,20552,work,1,False,1,829,687,2373898,home,,17,WALK_LRF,2.959114196967946 -18991841,57901,20552,work,1,True,1,706,829,2373980,work,,6,BIKE,-1.0271568101251134 -18991845,57901,20552,work,1,False,1,829,706,2373980,home,,11,BIKE,-1.0272309003397224 -18991849,57901,20552,work,1,True,2,687,829,2373981,othmaint,13.606994916129146,15,WALK,1.3589199499853672 -18991850,57901,20552,work,2,True,2,706,687,2373981,work,,16,DRIVEALONEFREE,0.6375706081958477 -18991853,57901,20552,work,1,False,1,829,706,2373981,home,,18,SHARED2FREE,0.27597335688392166 +18990857,57898,20552,work,1,True,1,913,829,2373857,work,,11,DRIVEALONEFREE,-0.3043864225079318 +18990861,57898,20552,work,1,False,1,829,913,2373857,home,,14,DRIVEALONEFREE,-0.3011488783796026 +18991185,57899,20552,work,1,True,1,687,829,2373898,work,,7,WALK,0.7784185661273756 +18991189,57899,20552,work,1,False,1,829,687,2373898,home,,17,WALK,0.7784242205760281 +18991841,57901,20552,work,1,True,1,706,829,2373980,work,,6,DRIVEALONEFREE,0.3008027159078227 +18991845,57901,20552,work,1,False,1,829,706,2373980,home,,11,DRIVEALONEFREE,0.2650680682818128 +18991849,57901,20552,work,1,True,2,712,829,2373981,othmaint,11.485349739091903,15,DRIVEALONEFREE,-0.1906824612365547 +18991850,57901,20552,work,2,True,2,706,712,2373981,work,,16,DRIVEALONEFREE,0.2908894836264618 +18991853,57901,20552,work,1,False,1,829,706,2373981,home,,18,DRIVEALONEFREE,-0.2358241315666989 20510417,62531,21869,school,1,True,1,938,900,2563802,school,,20,SHARED3FREE,-1.4613285433094236 20510421,62531,21869,school,1,False,1,900,938,2563802,home,,20,WALK,-1.459500628974267 -20510569,62532,21869,escort,1,True,1,647,900,2563821,escort,,6,SHARED2FREE,0.33462552915364907 +20510569,62532,21869,escort,1,True,1,647,900,2563821,escort,,6,SHARED2FREE,0.334625529153649 20510573,62532,21869,escort,1,False,1,900,647,2563821,home,,7,DRIVEALONEFREE,0.3206435595305147 20510897,62533,21869,escort,1,True,1,695,900,2563862,escort,,5,SHARED3FREE,0.7144255977546087 20510901,62533,21869,escort,1,False,4,996,695,2563862,shopping,13.914276145872222,6,SHARED3FREE,0.8532067175585919 20510902,62533,21869,escort,2,False,4,565,996,2563862,eatout,14.470208679441688,6,SHARED3FREE,0.5414028775934869 -20510903,62533,21869,escort,3,False,4,1099,565,2563862,escort,14.893415760278991,6,SHARED2FREE,0.5359149885298558 +20510903,62533,21869,escort,3,False,4,1099,565,2563862,escort,14.893415760278993,6,SHARED2FREE,0.5359149885298558 20510904,62533,21869,escort,4,False,4,900,1099,2563862,home,,6,SHARED3FREE,0.8790959798947626 -20510905,62533,21869,escort,1,True,1,518,900,2563863,escort,,11,SHARED2FREE,0.02289399206874116 -20510909,62533,21869,escort,1,False,1,900,518,2563863,home,,11,SHARED2FREE,0.028638087667856384 +20510905,62533,21869,escort,1,True,1,518,900,2563863,escort,,11,SHARED2FREE,0.0228939920687411 +20510909,62533,21869,escort,1,False,1,900,518,2563863,home,,11,SHARED2FREE,0.0286380876678563 20510913,62533,21869,escort,1,True,1,844,900,2563864,escort,,14,SHARED2FREE,0.5953832095412978 20510917,62533,21869,escort,1,False,1,900,844,2563864,home,,14,DRIVEALONEFREE,0.5982622294593943 20511025,62533,21869,othdiscr,1,True,1,1070,900,2563878,othdiscr,,11,DRIVEALONEFREE,-0.1485066877504566 @@ -74,58 +73,63 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 20511405,62534,21869,school,1,False,2,1082,916,2563925,shopping,7.788875642915948,9,SHARED2FREE,-1.5272294838127598 20511406,62534,21869,school,2,False,2,900,1082,2563925,home,,9,WALK,1.1927964486618703 22303745,67999,23619,escort,1,True,1,767,973,2787968,escort,,13,TNC_SHARED,0.1443338083297466 -22303749,67999,23619,escort,1,False,3,1070,767,2787968,eatout,13.43934451469963,13,WALK_LOC,0.6870922812358691 -22303750,67999,23619,escort,2,False,3,1078,1070,2787968,escort,16.045725301393567,13,WALK_LRF,2.3479223249191983 -22303751,67999,23619,escort,3,False,3,973,1078,2787968,home,,13,TNC_SINGLE,0.22765715549891172 +22303749,67999,23619,escort,1,False,3,1070,767,2787968,eatout,12.714694664502176,13,TNC_SINGLE,0.0798892320493438 +22303750,67999,23619,escort,2,False,3,1078,1070,2787968,escort,13.462119447120632,13,TNC_SINGLE,0.7932468294267513 +22303751,67999,23619,escort,3,False,3,973,1078,2787968,home,,13,TNC_SINGLE,0.2276571554989117 22303961,67999,23619,social,1,True,1,909,973,2787995,social,,17,WALK,-0.6421177387226744 22303965,67999,23619,social,1,False,1,973,909,2787995,home,,20,WALK,-0.6421162135547684 22304313,68000,23619,work,1,True,2,713,973,2788039,social,13.33042668148613,7,SHARED2FREE,1.1998888948411992 22304314,68000,23619,work,2,True,2,1044,713,2788039,work,,8,DRIVEALONEFREE,0.2088491091561209 -22304317,68000,23619,work,1,False,2,506,1044,2788039,escort,14.343867619014624,16,DRIVEALONEFREE,0.21452370831837575 +22304317,68000,23619,work,1,False,2,506,1044,2788039,escort,14.343867619014624,16,DRIVEALONEFREE,0.2145237083183757 22304318,68000,23619,work,2,False,2,973,506,2788039,home,,19,SHARED2FREE,0.3530682055924327 25904705,78977,26897,school,1,True,1,984,1081,3238088,school,,7,WALK,-0.4851985470348858 -25904709,78977,26897,school,1,False,1,1081,984,3238088,home,,14,WALK,-0.48520150251194716 +25904709,78977,26897,school,1,False,1,1081,984,3238088,home,,14,WALK,-0.4852015025119471 25905145,78979,26897,atwork,1,True,1,881,854,3238143,atwork,,9,WALK,-1.025833697317035 25905149,78979,26897,atwork,1,False,1,854,881,3238143,work,,11,WALK,-1.025845206038372 -25905425,78979,26897,work,1,True,1,854,1081,3238178,work,,7,DRIVEALONEFREE,-0.08658501312246997 -25905429,78979,26897,work,1,False,1,1081,854,3238178,home,,18,DRIVEALONEFREE,-0.08738081970255006 -421021769,1283602,435012,work,1,True,1,1078,521,52627721,work,,8,WALK_LOC,0.8421876716524057 -421021773,1283602,435012,work,1,False,1,521,1078,52627721,home,,18,WALK_LOC,0.8409592070380391 -421108753,1283868,435278,eatout,1,True,2,1077,537,52638594,escort,14.313365876496315,18,SHARED2FREE,-0.4350484117498945 -421108754,1283868,435278,eatout,2,True,2,1070,1077,52638594,eatout,,19,WALK,1.8006997854536941 -421108757,1283868,435278,eatout,1,False,1,537,1070,52638594,home,,21,SHARED2FREE,-0.4928453511919577 +25905425,78979,26897,work,1,True,1,854,1081,3238178,work,,7,DRIVEALONEFREE,-0.0865850131224699 +25905429,78979,26897,work,1,False,1,1081,854,3238178,home,,18,DRIVEALONEFREE,-0.08738081970255 +421021769,1283602,435012,work,1,True,1,1078,521,52627721,work,,8,DRIVEALONEFREE,-0.6750290087916829 +421021773,1283602,435012,work,1,False,2,560,1078,52627721,social,10.55210640919425,14,DRIVEALONEFREE,-1.1907987969099594 +421021774,1283602,435012,work,2,False,2,521,560,52627721,home,,18,DRIVEALONEFREE,0.3055101717954503 +421108753,1283868,435278,eatout,1,True,2,1077,537,52638594,escort,14.313365876496317,18,SHARED2FREE,-0.4350484117498945 +421108754,1283868,435278,eatout,2,True,2,1070,1077,52638594,eatout,,19,WALK,1.800699785453694 +421108757,1283868,435278,eatout,1,False,1,537,1070,52638594,home,,21,SHARED2FREE,-0.492845351191958 421108889,1283868,435278,atwork,1,True,1,713,923,52638611,atwork,,16,DRIVEALONEFREE,-0.3206205769695649 -421108893,1283868,435278,atwork,1,False,1,923,713,52638611,work,,16,DRIVEALONEFREE,-0.30825542970214137 -421109017,1283868,435278,work,1,True,1,923,537,52638627,work,,9,DRIVEALONEFREE,-0.44703657084141896 -421109021,1283868,435278,work,1,False,2,579,923,52638627,work,11.979458296670659,18,DRIVEALONEFREE,-0.4575684693918972 -421109022,1283868,435278,work,2,False,2,537,579,52638627,home,,18,DRIVEALONEFREE,0.02245452115457023 +421108893,1283868,435278,atwork,1,False,1,923,713,52638611,work,,16,DRIVEALONEFREE,-0.3082554297021413 +421109017,1283868,435278,work,1,True,1,923,537,52638627,work,,9,DRIVEALONEFREE,-0.4470365708414189 +421109021,1283868,435278,work,1,False,2,579,923,52638627,work,11.97945829667066,18,DRIVEALONEFREE,-0.4575684693918972 +421109022,1283868,435278,work,2,False,2,537,579,52638627,home,,18,DRIVEALONEFREE,0.0224545211545702 421134601,1283946,435356,work,1,True,1,1005,523,52641825,work,,7,TNC_SINGLE,0.2366349513440255 -421134605,1283946,435356,work,1,False,1,523,1005,52641825,home,,18,TNC_SINGLE,0.13396244489330475 -421348457,1284598,436008,work,1,True,1,551,562,52668557,work,,9,DRIVEALONEFREE,0.41482590970511396 -421348461,1284598,436008,work,1,False,1,562,551,52668557,home,,19,WALK,0.41482590970511396 -421878833,1286215,437625,work,1,True,1,606,656,52734854,work,,8,WALK,-0.3452557400491608 -421878837,1286215,437625,work,1,False,1,656,606,52734854,home,,19,WALK,-0.34524974555405197 -423180353,1290184,441594,atwork,1,True,1,763,952,52897544,atwork,,11,DRIVEALONEFREE,-0.32097715508720903 +421134605,1283946,435356,work,1,False,1,523,1005,52641825,home,,18,TNC_SINGLE,0.1339624448933047 +421348457,1284598,436008,work,1,True,1,551,562,52668557,work,,9,DRIVEALONEFREE,0.4148259097051139 +421348461,1284598,436008,work,1,False,1,562,551,52668557,home,,19,WALK,0.4148259097051139 +421878553,1286215,437625,atwork,1,True,1,1077,606,52734819,atwork,,10,DRIVEALONEFREE,-0.7443646546844188 +421878557,1286215,437625,atwork,1,False,1,606,1077,52734819,work,,13,DRIVEALONEFREE,-0.7600790313114658 +421878833,1286215,437625,work,1,True,1,606,656,52734854,work,,8,DRIVEALONEFREE,0.1585528963892502 +421878837,1286215,437625,work,1,False,3,934,606,52734854,othmaint,11.773813663999537,17,DRIVEALONEFREE,-0.3271213666792046 +421878838,1286215,437625,work,2,False,3,730,934,52734854,othmaint,11.312123465060631,19,DRIVEALONEFREE,-0.1603647654052425 +421878839,1286215,437625,work,3,False,3,656,730,52734854,home,,19,WALK,0.1675423034473086 +423180353,1290184,441594,atwork,1,True,1,763,952,52897544,atwork,,11,DRIVEALONEFREE,-0.320977155087209 423180357,1290184,441594,atwork,1,False,1,952,763,52897544,work,,11,DRIVEALONEFREE,-0.3082313192247495 423180401,1290184,441594,eatout,1,True,1,911,1096,52897550,eatout,,20,DRIVEALONEFREE,0.5626236686527499 -423180405,1290184,441594,eatout,1,False,2,1070,911,52897550,othmaint,14.80244249662474,21,DRIVEALONEFREE,0.020958025696950988 -423180406,1290184,441594,eatout,2,False,2,1096,1070,52897550,home,,21,SHARED2FREE,1.4882303633812837 -423180553,1290184,441594,othdiscr,1,True,1,684,1096,52897569,othdiscr,,6,DRIVEALONEFREE,-0.05468607362413808 -423180557,1290184,441594,othdiscr,1,False,1,1096,684,52897569,home,,6,DRIVEALONEFREE,0.025463646825953753 +423180405,1290184,441594,eatout,1,False,2,1070,911,52897550,othmaint,14.80244249662474,21,DRIVEALONEFREE,0.0209580256969509 +423180406,1290184,441594,eatout,2,False,2,1096,1070,52897550,home,,21,SHARED2FREE,1.4882303633812834 +423180553,1290184,441594,othdiscr,1,True,1,684,1096,52897569,othdiscr,,6,DRIVEALONEFREE,-0.054686073624138 +423180557,1290184,441594,othdiscr,1,False,1,1096,684,52897569,home,,6,DRIVEALONEFREE,0.0254636468259537 423180561,1290184,441594,othdiscr,1,True,1,762,1096,52897570,othdiscr,,21,DRIVEALONEFREE,-0.1282694315616728 -423180565,1290184,441594,othdiscr,1,False,1,1096,762,52897570,home,,22,DRIVEALONEFREE,-0.06385219151084379 -423180569,1290184,441594,othdiscr,1,True,2,1070,1096,52897571,eatout,12.238244003040961,23,WALK,0.41386688177385483 +423180565,1290184,441594,othdiscr,1,False,1,1096,762,52897570,home,,22,DRIVEALONEFREE,-0.0638521915108437 +423180569,1290184,441594,othdiscr,1,True,2,1070,1096,52897571,eatout,12.23824400304096,23,WALK,0.4138668817738548 423180570,1290184,441594,othdiscr,2,True,2,739,1070,52897571,othdiscr,,23,DRIVEALONEFREE,-0.5176704028503946 -423180573,1290184,441594,othdiscr,1,False,1,1096,739,52897571,home,,23,DRIVEALONEFREE,-0.007676144053072011 +423180573,1290184,441594,othdiscr,1,False,1,1096,739,52897571,home,,23,DRIVEALONEFREE,-0.007676144053072 423180665,1290184,441594,work,1,True,1,952,1096,52897583,work,,9,DRIVEALONEFREE,-0.3390675778065629 -423180669,1290184,441594,work,1,False,2,1039,952,52897583,shopping,10.224441814199267,19,DRIVEALONEFREE,0.04659304472699005 +423180669,1290184,441594,work,1,False,2,1039,952,52897583,shopping,10.224441814199269,19,DRIVEALONEFREE,0.04659304472699 423180670,1290184,441594,work,2,False,2,1096,1039,52897583,home,,20,DRIVEALONEFREE,-0.2200680365507812 -423325361,1290626,442036,atwork,1,True,1,1070,1070,52915670,atwork,,10,WALK,2.4753445374668193 -423325365,1290626,442036,atwork,1,False,2,1070,1070,52915670,othmaint,20.929622629070735,11,WALK,2.4753445374668193 -423325366,1290626,442036,atwork,2,False,2,1070,1070,52915670,work,,11,WALK,2.4753445374668193 -423325641,1290626,442036,work,1,True,2,1070,1100,52915705,work,19.07053342702978,8,WALK_LRF,1.9835044178867518 -423325642,1290626,442036,work,2,True,2,1070,1070,52915705,work,,8,WALK,2.0467516913054156 -423325645,1290626,442036,work,1,False,1,1100,1070,52915705,home,,18,WALK_LRF,1.985844419961492 +423325361,1290626,442036,atwork,1,True,1,1070,1070,52915670,atwork,,10,WALK,2.4753445374668197 +423325365,1290626,442036,atwork,1,False,2,1070,1070,52915670,othmaint,20.92962262907073,11,WALK,2.4753445374668197 +423325366,1290626,442036,atwork,2,False,2,1070,1070,52915670,work,,11,WALK,2.4753445374668197 +423325641,1290626,442036,work,1,True,2,1070,1100,52915705,work,16.50472145927198,8,TAXI,0.5701726780376876 +423325642,1290626,442036,work,2,True,2,1070,1070,52915705,work,,8,WALK,2.046751691305416 +423325645,1290626,442036,work,1,False,1,1100,1070,52915705,home,,18,WALK_LRF,0.7984494986703449 611033041,1862905,721960,othdiscr,1,True,1,975,960,76379130,othdiscr,,15,SHARED2FREE,0.8489306664543732 611033045,1862905,721960,othdiscr,1,False,1,960,975,76379130,home,,21,DRIVEALONEFREE,0.8562669493898725 611033369,1862906,721960,othdiscr,1,True,1,980,960,76379171,othdiscr,,11,SHARED2FREE,0.8131565075329917 @@ -133,57 +137,58 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 611033374,1862906,721960,othdiscr,2,False,2,960,729,76379171,home,,16,SHARED2FREE,0.6321079002211393 647572569,1974306,760593,othdiscr,1,True,1,564,509,80946571,othdiscr,,8,SHARED3FREE,0.98448231998496 647572573,1974306,760593,othdiscr,1,False,1,509,564,80946571,home,,16,SHARED3FREE,0.9905529532027648 -647572729,1974307,760593,atwork,1,True,1,816,696,80946591,atwork,,12,BIKE,-1.1440442673244633 -647572733,1974307,760593,atwork,1,False,1,696,816,80946591,work,,13,BIKE,-1.3296969714864022 -647573009,1974307,760593,work,1,True,2,692,509,80946626,shopping,9.79689029995681,9,BIKE,0.33668025687337155 -647573010,1974307,760593,work,2,True,2,696,692,80946626,work,,10,BIKE,0.014837195146969547 -647573013,1974307,760593,work,1,False,1,509,696,80946626,home,,18,BIKE,-0.4499780373389896 -647573097,1974308,760593,escort,1,True,1,675,509,80946637,escort,,5,WALK,-0.43513320956125956 -647573101,1974308,760593,escort,1,False,1,509,675,80946637,home,,5,WALK,-0.43498874977648583 +647572729,1974307,760593,atwork,1,True,1,816,689,80946591,atwork,,12,TNC_SINGLE,0.3686945306810549 +647572733,1974307,760593,atwork,1,False,1,689,816,80946591,work,,13,TNC_SINGLE,0.2338223544682137 +647573009,1974307,760593,work,1,True,2,670,509,80946626,shopping,8.037541298132712,9,WALK,-0.2893554768721311 +647573010,1974307,760593,work,2,True,2,689,670,80946626,work,,10,WALK,-0.3526375212278674 +647573013,1974307,760593,work,1,False,1,509,689,80946626,home,,18,WALK,-0.9788387148256712 +647573097,1974308,760593,escort,1,True,1,675,509,80946637,escort,,5,WALK,-0.4351332095612595 +647573101,1974308,760593,escort,1,False,1,509,675,80946637,home,,5,WALK,-0.4349887497764858 648387521,1976791,761445,escort,1,True,1,908,613,81048440,escort,,13,DRIVEALONEFREE,0.4328362297251925 -648387525,1976791,761445,escort,1,False,1,613,908,81048440,home,,13,SHARED2FREE,0.42852805367487495 -648387809,1976792,761445,atwork,1,True,1,540,517,81048476,atwork,,9,DRIVEALONEFREE,-0.020366291219986447 -648387813,1976792,761445,atwork,1,False,1,517,540,81048476,work,,9,DRIVEALONEFREE,-0.013051431110891864 +648387525,1976791,761445,escort,1,False,1,613,908,81048440,home,,13,SHARED2FREE,0.4285280536748749 +648387809,1976792,761445,atwork,1,True,1,540,517,81048476,atwork,,9,DRIVEALONEFREE,-0.0203662912199864 +648387813,1976792,761445,atwork,1,False,1,517,540,81048476,work,,9,DRIVEALONEFREE,-0.0130514311108918 648388065,1976792,761445,social,1,True,1,919,613,81048508,social,,14,SHARED2FREE,1.0075161151372274 648388069,1976792,761445,social,1,False,1,613,919,81048508,home,,19,SHARED3FREE,1.0047231263030936 -648388089,1976792,761445,work,1,True,1,517,613,81048511,work,,5,DRIVEALONEFREE,-0.14314373357808677 +648388089,1976792,761445,work,1,True,1,517,613,81048511,work,,5,DRIVEALONEFREE,-0.1431437335780867 648388093,1976792,761445,work,1,False,1,613,517,81048511,home,,12,DRIVEALONEFREE,-0.1608731955485122 649042753,1978788,762159,social,1,True,1,739,961,81130344,social,,8,SHARED3FREE,0.873733496035867 649042757,1978788,762159,social,1,False,1,961,739,81130344,home,,20,SHARED3FREE,0.8702085615611009 649043193,1978790,762159,escort,1,True,1,992,961,81130399,escort,,8,SHARED2FREE,0.5349665222974443 649043197,1978790,762159,escort,1,False,1,961,992,81130399,home,,8,SHARED2FREE,0.5205938591259834 -649043433,1978790,762159,work,1,True,1,681,961,81130429,work,,8,DRIVEALONEFREE,-0.23724932254897305 +649043433,1978790,762159,work,1,True,1,681,961,81130429,work,,8,DRIVEALONEFREE,-0.237249322548973 649043437,1978790,762159,work,1,False,1,961,681,81130429,home,,17,DRIVEALONEFREE,-0.2292289864885827 649043761,1978791,762159,work,1,True,1,1070,961,81130470,work,,7,DRIVEALONEFREE,-0.2212113455808548 -649043765,1978791,762159,work,1,False,1,961,1070,81130470,home,,17,SHARED2FREE,-0.44936439362691877 -819359665,2498047,922602,school,1,True,1,924,730,102419958,school,,9,WALK_LRF,0.8884281737585089 -819359669,2498047,922602,school,1,False,1,730,924,102419958,home,,16,WALK_LRF,0.8854900923771221 +649043765,1978791,762159,work,1,False,1,961,1070,81130470,home,,17,SHARED2FREE,-0.4493643936269187 +819359665,2498047,922602,school,1,True,1,851,730,102419958,school,,9,WALK,-0.7129519836886864 +819359669,2498047,922602,school,1,False,1,730,851,102419958,home,,16,WALK,-0.7125079143265478 819360057,2498048,922602,work,1,True,1,722,730,102420007,work,,7,WALK,-0.5757010163806285 819360061,2498048,922602,work,1,False,1,730,722,102420007,home,,16,WALK,-0.5758022637976002 -819360385,2498049,922602,work,1,True,1,763,730,102420048,work,,6,BIKE,-0.7860843037071745 -819360389,2498049,922602,work,1,False,1,730,763,102420048,home,,16,BIKE,-0.78617264535769 -860079225,2622192,952720,school,1,True,1,992,1025,107509903,school,,7,WALK,-0.7272184158609819 -860079229,2622192,952720,school,1,False,1,1025,992,107509903,home,,14,WALK,-0.7272206687410728 +819360385,2498049,922602,work,1,True,1,755,730,102420048,work,,6,WALK,-2.133440153293813 +819360389,2498049,922602,work,1,False,1,730,755,102420048,home,,16,WALK,-2.146424135711287 +860079225,2622192,952720,school,1,True,1,997,1025,107509903,school,,7,WALK,-0.8381416189260318 +860079229,2622192,952720,school,1,False,1,1025,997,107509903,home,,14,SHARED3FREE,-0.8387619711156924 860079377,2622193,952720,escort,1,True,1,773,1025,107509922,escort,,6,DRIVEALONEFREE,0.5629145959926543 860079381,2622193,952720,escort,1,False,1,1025,773,107509922,home,,6,SHARED2FREE,0.5769090131439206 860079529,2622193,952720,othmaint,1,True,1,550,1025,107509941,othmaint,,8,DRIVEALONEFREE,0.4954921391516582 860079533,2622193,952720,othmaint,1,False,1,1025,550,107509941,home,,15,TAXI,0.5175746143850942 -860079897,2622194,952720,shopping,1,True,1,989,1025,107509987,shopping,,9,WALK_LRF,1.913216381929182 -860079901,2622194,952720,shopping,1,False,1,1025,989,107509987,home,,11,WALK_LRF,1.9072716283469344 +860079897,2622194,952720,shopping,1,True,1,989,1025,107509987,shopping,,9,WALK,0.7145052897848442 +860079901,2622194,952720,shopping,1,False,1,1025,989,107509987,home,,11,WALK,0.7145047811622831 860080273,2622195,952720,work,1,True,1,1021,1025,107510034,work,,8,DRIVEALONEFREE,0.1571601323326824 860080277,2622195,952720,work,1,False,1,1025,1021,107510034,home,,17,DRIVEALONEFREE,0.1570916696297328 -933123249,2844887,1028031,work,1,True,1,821,846,116640406,work,,11,WALK,-0.9619825585486642 -933123253,2844887,1028031,work,1,False,1,846,821,116640406,home,,21,WALK,-0.9619820730806697 +933123249,2844887,1028031,work,1,True,1,821,846,116640406,work,,11,DRIVEALONEFREE,0.0804499098545225 +933123253,2844887,1028031,work,1,False,2,781,821,116640406,eatout,11.902872231959044,20,DRIVEALONEFREE,0.075942323791996 +933123254,2844887,1028031,work,2,False,2,846,781,116640406,home,,21,DRIVEALONEFREE,0.1665747787316702 962301409,2933845,1048898,school,1,True,1,563,574,120287676,school,,12,WALK,0.6010774898562959 962301413,2933845,1048898,school,1,False,1,574,563,120287676,home,,21,WALK,0.601110793064989 962301737,2933846,1048898,school,1,True,1,515,574,120287717,school,,8,WALK,-2.077872684673323 962301741,2933846,1048898,school,1,False,1,574,515,120287717,home,,16,SHARED2FREE,-2.083095264404366 -962302017,2933847,1048898,othdiscr,1,True,1,623,574,120287752,othdiscr,,7,TNC_SINGLE,0.16536386122450294 -962302021,2933847,1048898,othdiscr,1,False,2,877,623,120287752,eatout,12.313427769411419,12,TAXI,0.10034850012383481 +962302017,2933847,1048898,othdiscr,1,True,1,623,574,120287752,othdiscr,,7,TNC_SINGLE,0.1653638612245029 +962302021,2933847,1048898,othdiscr,1,False,2,877,623,120287752,eatout,12.31342776941142,12,TAXI,0.1003485001238348 962302022,2933847,1048898,othdiscr,2,False,2,574,877,120287752,home,,12,DRIVEALONEFREE,0.0157047931957291 -962302457,2933848,1048898,work,1,True,1,502,574,120287807,work,,6,DRIVEALONEFREE,-0.05432573151273244 -962302461,2933848,1048898,work,1,False,2,728,502,120287807,escort,12.151785063556241,17,DRIVEALONEFREE,-0.0901887950029015 -962302462,2933848,1048898,work,2,False,2,574,728,120287807,home,,18,DRIVEALONEFREE,-0.19676784896729518 +962302457,2933848,1048898,work,1,True,1,502,574,120287807,work,,6,DRIVEALONEFREE,-0.0543257315127324 +962302461,2933848,1048898,work,1,False,2,728,502,120287807,escort,12.15178506355624,17,DRIVEALONEFREE,-0.0901887950029015 +962302462,2933848,1048898,work,2,False,2,574,728,120287807,home,,18,DRIVEALONEFREE,-0.1967678489672951 1055052265,3216622,1148260,univ,1,True,1,1074,1076,131881533,univ,,14,WALK,-1.3446315964343616 1055052269,3216622,1148260,univ,1,False,3,1074,1074,131881533,univ,9.853996342181825,15,WALK,-0.5067482781368078 1055052270,3216622,1148260,univ,2,False,3,1070,1074,131881533,escort,12.166528210851974,15,WALK,-0.7310853193957327 diff --git a/activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv b/activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv index 0a7d0d9c4..23434cccc 100644 --- a/activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv +++ b/activitysim/examples/example_sandag/test/regress/final_3_zone_tours.csv @@ -1,30 +1,38 @@ tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,tour_category,number_of_participants,destination,origin,household_id,tdd,start,end,duration,composition,destination_logsum,tour_mode,mode_choice_logsum,od_atap,od_btap,od_path_set,do_atap,do_btap,do_path_set,atwork_subtour_frequency,parent_tour_id,stop_frequency,primary_purpose -1359025,33146,work,1,1,1,1,mandatory,1,1100.0,560.0,12593,12.0,5.0,17.0,12.0,,,WALK_TRANSIT,5.253186676179789,1584.0,1558.0,shortest,1558.0,1584.0,shortest,no_subtours,,1out_3in,work -1359066,33147,work,1,1,1,1,mandatory,1,1070.0,560.0,12593,61.0,8.0,15.0,7.0,,,WALK_TRANSIT,7.357512193544526,1500.0,1558.0,fastest,1558.0,1500.0,fastest,no_subtours,,0out_1in,work -1494647,36454,shopping,2,1,1,2,non_mandatory,1,725.0,580.0,13797,128.0,13.0,17.0,4.0,,13.601392254792993,WALK_TRANSIT,3.4613169534985735,1605.0,1238.0,shortest,1238.0,1605.0,cheapest,,,0out_0in,shopping -1494648,36454,shopping,2,2,2,2,non_mandatory,1,739.0,580.0,13797,169.0,18.0,18.0,0.0,,13.56660835747549,WALK_TRANSIT,3.002680087780355,1662.0,1238.0,shortest,1238.0,1662.0,shortest,,,1out_0in,shopping -1494694,36455,work,1,1,1,1,mandatory,1,562.0,580.0,13797,58.0,8.0,12.0,4.0,,,WALK_TRANSIT,6.349290419779566,1558.0,1238.0,shortest,1238.0,1558.0,shortest,no_subtours,,0out_0in,work -1709911,41705,eatout,1,1,1,1,non_mandatory,1,1070.0,645.0,15777,76.0,9.0,15.0,6.0,,12.070246786563015,WALK_TRANSIT,0.4629895150090414,1500.0,1611.0,fastest,1611.0,1500.0,shortest,,,0out_0in,eatout +1359025,33146,work,1,1,1,1,mandatory,1,1100.0,560.0,12593,12.0,5.0,17.0,12.0,,,DRIVEALONEFREE,1.0261372219238083,,,,,,,no_subtours,,2out_0in,work +1359066,33147,work,1,1,1,1,mandatory,1,1070.0,560.0,12593,61.0,8.0,15.0,7.0,,,WALK_TRANSIT,2.96683804953191,1500.0,1558.0,fastest,1558.0,1500.0,fastest,no_subtours,,0out_1in,work +1494647,36454,shopping,2,1,1,2,non_mandatory,1,725.0,580.0,13797,128.0,13.0,17.0,4.0,,11.688295162318989,DRIVEALONEFREE,0.185754815801926,,,,,,,,,0out_1in,shopping +1494648,36454,shopping,2,2,2,2,non_mandatory,1,729.0,580.0,13797,169.0,18.0,18.0,0.0,,11.689029568940938,DRIVEALONEFREE,0.443644139698639,,,,,,,,,1out_0in,shopping +1494680,36455,othdiscr,1,1,1,1,non_mandatory,1,623.0,580.0,13797,159.0,16.0,21.0,5.0,,13.239720693390336,SHARED2FREE,0.738377038878971,,,,,,,,,0out_2in,othdiscr +1494694,36455,work,1,1,1,1,mandatory,1,562.0,580.0,13797,58.0,8.0,12.0,4.0,,,SHARED3FREE,0.8851264867711228,,,,,,,no_subtours,,0out_0in,work +1709911,41705,eatout,1,1,1,1,non_mandatory,1,1070.0,645.0,15777,76.0,9.0,15.0,6.0,,12.070246786563017,WALK_TRANSIT,0.4629895150090414,1500.0,1611.0,fastest,1611.0,1500.0,shortest,,,0out_0in,eatout 1709950,41706,eat,1,1,1,1,atwork,1,989.0,854.0,15777,112.0,12.0,12.0,0.0,,18.50954665100095,WALK_TRANSIT,-0.6180823333381719,1666.0,1662.0,shortest,1748.0,1618.0,fastest,,1709985.0,0out_0in,atwork 1709985,41706,work,1,1,1,1,mandatory,1,854.0,645.0,15777,65.0,8.0,19.0,11.0,,,SHARED2FREE,0.613674174636675,,,,,,,eat,,0out_1in,work -2051441,50035,eatout,1,1,1,1,non_mandatory,1,756.0,757.0,18261,127.0,13.0,16.0,3.0,,11.799526229988642,WALK,1.6563404449848542,,,,,,,,,0out_0in,eatout 2051448,50035,eatout,1,1,1,1,joint,3,1070.0,757.0,18261,156.0,16.0,18.0,2.0,mixed,11.85828127629614,SHARED3FREE,-5.832306485220664,,,,,,,,,1out_0in,eatout -2051466,50035,school,1,1,1,1,mandatory,1,919.0,757.0,18261,43.0,7.0,13.0,6.0,,,WALK_TRANSIT,1.2158966517539807,1618.0,1748.0,shortest,1748.0,1618.0,fastest,,,0out_0in,school +2051466,50035,school,1,1,1,1,mandatory,1,919.0,757.0,18261,43.0,7.0,13.0,6.0,,,WALK_TRANSIT,1.2158966517539809,1618.0,1748.0,shortest,1748.0,1618.0,fastest,,,0out_0in,school +2051468,50035,shopping,1,1,1,1,non_mandatory,1,996.0,757.0,18261,175.0,19.0,19.0,0.0,,11.577466521097683,DRIVEALONEFREE,-0.1846581633337935,,,,,,,,,0out_0in,shopping +2051504,50036,othmaint,1,1,1,1,non_mandatory,1,877.0,757.0,18261,44.0,7.0,14.0,7.0,,12.412335687839308,SHARED2FREE,0.0818069109613803,,,,,,,,,0out_0in,othmaint 2051556,50037,work,1,1,1,1,mandatory,1,1070.0,757.0,18261,46.0,7.0,16.0,9.0,,,WALK_TRANSIT,1.2858135302346076,1500.0,1651.0,shortest,1651.0,1500.0,shortest,no_subtours,,0out_0in,work -2268889,55338,school,1,1,1,1,mandatory,1,699.0,794.0,19758,40.0,7.0,10.0,3.0,,,WALK_TRANSIT,1.4261796341422381,1608.0,1652.0,cheapest,1652.0,1608.0,fastest,,,0out_0in,school +2268889,55338,school,1,1,1,1,mandatory,1,699.0,794.0,19758,40.0,7.0,10.0,3.0,,,WALK_TRANSIT,1.426179634142238,1608.0,1652.0,cheapest,1652.0,1608.0,fastest,,,0out_0in,school 2268938,55339,work,1,1,1,1,mandatory,1,762.0,794.0,19758,11.0,5.0,16.0,11.0,,,DRIVEALONEFREE,0.6319219718888117,,,,,,,no_subtours,,0out_0in,work -2373816,57897,work,1,1,1,1,mandatory,1,1070.0,829.0,20552,50.0,7.0,20.0,13.0,,,WALK_TRANSIT,1.8152536207268481,1500.0,1754.0,fastest,1754.0,1500.0,shortest,no_subtours,,0out_0in,work +2373816,57897,work,1,1,1,1,mandatory,1,1070.0,829.0,20552,50.0,7.0,20.0,13.0,,,WALK_TRANSIT,1.815253620726848,1500.0,1754.0,fastest,1754.0,1500.0,shortest,no_subtours,,0out_0in,work 2373818,57898,business,1,1,1,1,atwork,1,948.0,948.0,20552,101.0,11.0,13.0,2.0,,10.856328670591866,WALK,1.0849001811607144,,,,,,,,2373857.0,1out_0in,atwork -2373857,57898,work,1,1,1,1,mandatory,1,948.0,829.0,20552,105.0,11.0,17.0,6.0,,,DRIVEALONEFREE,0.22661990599461826,,,,,,,business1,,0out_1in,work +2373857,57898,work,1,1,1,1,mandatory,1,948.0,829.0,20552,105.0,11.0,17.0,6.0,,,DRIVEALONEFREE,0.2266199059946182,,,,,,,business1,,0out_1in,work 2373898,57899,work,1,1,1,1,mandatory,1,687.0,829.0,20552,47.0,7.0,17.0,10.0,,,WALK,1.4925958516365831,,,,,,,no_subtours,,0out_0in,work 2373980,57901,work,2,1,1,2,mandatory,1,708.0,829.0,20552,29.0,6.0,16.0,10.0,,,DRIVEALONEFREE,0.5654424599486602,,,,,,,no_subtours,,0out_0in,work 2373981,57901,work,2,2,2,2,mandatory,1,708.0,829.0,20552,172.0,18.0,21.0,3.0,,,SHARED2FREE,0.7217981727639898,,,,,,,no_subtours,,1out_0in,work -2563777,62531,eatout,1,1,1,1,non_mandatory,1,705.0,900.0,21869,149.0,15.0,19.0,4.0,,14.322466484667979,WALK,3.703010473851466,,,,,,,,,0out_0in,eatout -2787968,67999,escort,1,1,1,2,non_mandatory,1,767.0,973.0,23619,124.0,13.0,13.0,0.0,,12.970512717862757,SHARED3FREE,-0.7145790466379958,,,,,,,,,0out_2in,escort +2563802,62531,school,1,1,1,1,mandatory,1,938.0,900.0,21869,180.0,20.0,20.0,0.0,,,WALK_TRANSIT,1.0406873179045706,1673.0,1633.0,shortest,1633.0,1673.0,fastest,,,0out_0in,school +2563821,62532,escort,1,1,1,1,non_mandatory,1,647.0,900.0,21869,20.0,6.0,7.0,1.0,,12.49976194812137,SHARED2FREE,-1.2299200748899617,,,,,,,,,0out_0in,escort +2563862,62533,escort,3,1,1,4,non_mandatory,1,695.0,900.0,21869,1.0,5.0,6.0,1.0,,12.55798878217292,SHARED3FREE,-1.221458591960288,,,,,,,,,0out_3in,escort +2563863,62533,escort,3,2,2,4,non_mandatory,1,518.0,900.0,21869,99.0,11.0,11.0,0.0,,12.502003827155296,SHARED3FREE,-1.66067049305692,,,,,,,,,0out_0in,escort +2563864,62533,escort,3,3,3,4,non_mandatory,1,844.0,900.0,21869,135.0,14.0,14.0,0.0,,12.530459798779978,SHARED2FREE,-1.4032965315757244,,,,,,,,,0out_0in,escort +2563878,62533,othdiscr,1,1,4,4,non_mandatory,1,1070.0,900.0,21869,100.0,11.0,12.0,1.0,,13.216136797297771,WALK_TRANSIT,1.0118533227067692,1500.0,73.0,fastest,73.0,1500.0,shortest,,,0out_0in,othdiscr +2563925,62534,school,1,1,1,1,mandatory,1,793.0,900.0,21869,55.0,8.0,9.0,1.0,,,WALK_TRANSIT,-0.605105363231441,1748.0,73.0,shortest,73.0,1748.0,shortest,,,0out_0in,school +2787968,67999,escort,1,1,1,2,non_mandatory,1,767.0,973.0,23619,124.0,13.0,13.0,0.0,,12.970512717862755,SHARED3FREE,-0.7145790466379958,,,,,,,,,0out_2in,escort 2787995,67999,social,1,1,2,2,non_mandatory,1,988.0,973.0,23619,165.0,17.0,20.0,3.0,,12.777797143559908,WALK,1.394261833722182,,,,,,,,,0out_0in,social 2788039,68000,work,1,1,1,1,mandatory,1,1070.0,973.0,23619,51.0,7.0,21.0,14.0,,,WALK_TRANSIT,1.4899770411640134,1500.0,1588.0,shortest,1588.0,1500.0,fastest,no_subtours,,1out_0in,work 3238088,78977,school,1,1,1,1,mandatory,1,984.0,1081.0,26897,44.0,7.0,14.0,7.0,,,WALK,1.0391837359866254,,,,,,,,,0out_0in,school -3238143,78979,eat,1,1,1,1,atwork,1,1070.0,897.0,26897,72.0,9.0,11.0,2.0,,18.50007970900582,DRIVEALONEFREE,-0.28647706051384236,,,,,,,,3238178.0,0out_0in,atwork +3238143,78979,eat,1,1,1,1,atwork,1,1070.0,897.0,26897,72.0,9.0,11.0,2.0,,18.50007970900582,DRIVEALONEFREE,-0.2864770605138423,,,,,,,,3238178.0,0out_0in,atwork 3238178,78979,work,1,1,1,1,mandatory,1,897.0,1081.0,26897,48.0,7.0,18.0,11.0,,,DRIVEALONEFREE,0.5747485518145101,,,,,,,eat,,0out_0in,work 52627721,1283602,work,1,1,1,1,mandatory,1,1078.0,521.0,435012,64.0,8.0,18.0,10.0,,,WALK_TRANSIT,5.710266024459359,1584.0,1238.0,shortest,1238.0,1584.0,cheapest,no_subtours,,0out_0in,work 52638588,1283868,business,1,1,1,1,atwork,1,1070.0,1070.0,435278,112.0,12.0,12.0,0.0,,19.38117027561944,WALK,0.6487888616012731,,,,,,,,52638627.0,0out_0in,atwork @@ -34,37 +42,38 @@ tour_id,person_id,tour_type,tour_type_count,tour_type_num,tour_num,tour_count,to 52668557,1284598,work,1,1,1,1,mandatory,1,553.0,562.0,436008,80.0,9.0,19.0,10.0,,,DRIVEALONEFREE,0.7312528815647517,,,,,,,no_subtours,,0out_0in,work 52734819,1286215,eat,1,1,1,1,atwork,1,1077.0,606.0,437625,88.0,10.0,13.0,3.0,,18.149830935609163,WALK_TRANSIT,-0.8798916104770301,1500.0,1562.0,shortest,1562.0,1500.0,shortest,,52734854.0,0out_0in,atwork 52734854,1286215,work,1,1,1,1,mandatory,1,606.0,656.0,437625,65.0,8.0,19.0,11.0,,,DRIVEALONEFREE,0.8985332322364314,,,,,,,eat,,0out_2in,work -52897548,1290184,eat,1,1,1,1,atwork,1,1100.0,977.0,441594,88.0,10.0,13.0,3.0,,18.564890217266726,DRIVEALONEFREE,0.2802460620432638,,,,,,,,52897583.0,1out_0in,atwork -52897572,1290184,othmaint,3,1,1,3,non_mandatory,1,540.0,1096.0,441594,0.0,5.0,5.0,0.0,,12.744589144842791,DRIVEALONEFREE,-0.268246760515124,,,,,,,,,0out_0in,othmaint -52897573,1290184,othmaint,3,2,2,3,non_mandatory,1,1070.0,1096.0,441594,55.0,8.0,9.0,1.0,,12.758662199493308,SHARED3FREE,0.303683655557905,,,,,,,,,0out_0in,othmaint -52897574,1290184,othmaint,3,3,3,3,non_mandatory,1,1070.0,1096.0,441594,70.0,9.0,9.0,0.0,,12.758874480929563,BIKE,0.3595692972928397,,,,,,,,,0out_0in,othmaint -52897583,1290184,work,1,1,1,1,mandatory,1,977.0,1096.0,441594,82.0,9.0,21.0,12.0,,,DRIVEALONEFREE,-0.04238204929920889,,,,,,,eat,,0out_1in,work +52897544,1290184,business,1,1,1,1,atwork,1,732.0,977.0,441594,99.0,11.0,11.0,0.0,,18.610370946991612,SHARED2FREE,0.4316303329603235,,,,,,,,52897583.0,0out_0in,atwork +52897550,1290184,eatout,1,1,4,4,non_mandatory,1,949.0,1096.0,441594,184.0,21.0,21.0,0.0,,11.904706692046382,SHARED2FREE,-0.1665710953231831,,,,,,,,,0out_1in,eatout +52897569,1290184,othdiscr,3,1,1,4,non_mandatory,1,684.0,1096.0,441594,2.0,5.0,7.0,2.0,,12.918529902113356,DRIVEALONEFREE,0.2317787046274241,,,,,,,,,0out_0in,othdiscr +52897570,1290184,othdiscr,3,2,2,4,non_mandatory,1,762.0,1096.0,441594,185.0,21.0,22.0,1.0,,12.959861282775266,WALK_TRANSIT,0.2522845990878585,1748.0,1516.0,fastest,1516.0,1748.0,fastest,,,0out_0in,othdiscr +52897571,1290184,othdiscr,3,3,3,4,non_mandatory,1,725.0,1096.0,441594,189.0,23.0,23.0,0.0,,13.001363665570665,WALK,0.3854413463230495,,,,,,,,,0out_0in,othdiscr +52897583,1290184,work,1,1,1,1,mandatory,1,977.0,1096.0,441594,82.0,9.0,21.0,12.0,,,DRIVEALONEFREE,-0.0423820492992088,,,,,,,business1,,0out_1in,work 52915705,1290626,work,1,1,1,1,mandatory,1,1070.0,1100.0,442036,64.0,8.0,18.0,10.0,,,WALK_TRANSIT,1.4095982213888998,1500.0,1584.0,cheapest,1584.0,1500.0,fastest,no_subtours,,1out_0in,work -76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,986.0,960.0,721960,151.0,15.0,21.0,6.0,,12.957346522442645,WALK_TRANSIT,0.32125226609019847,1618.0,1762.0,fastest,1762.0,1618.0,fastest,,,0out_0in,othdiscr +76379130,1862905,othdiscr,1,1,1,1,non_mandatory,1,986.0,960.0,721960,151.0,15.0,21.0,6.0,,12.957346522442643,WALK_TRANSIT,0.3212522660901984,1618.0,1762.0,fastest,1762.0,1618.0,fastest,,,0out_0in,othdiscr 76379171,1862906,othdiscr,1,1,1,1,non_mandatory,1,992.0,960.0,721960,104.0,11.0,16.0,5.0,,12.9976638956563,SHARED3FREE,0.3134675853717786,,,,,,,,,0out_1in,othdiscr 80946571,1974306,othdiscr,1,1,1,1,non_mandatory,1,564.0,509.0,760593,62.0,8.0,16.0,8.0,,13.57415728090829,WALK,1.2942555315594169,,,,,,,,,0out_0in,othdiscr -80946591,1974307,eat,1,1,1,1,atwork,1,913.0,739.0,760593,113.0,12.0,13.0,1.0,,18.622653002301586,SHARED3FREE,-0.7672328773497228,,,,,,,,80946626.0,0out_0in,atwork +80946591,1974307,eat,1,1,1,1,atwork,1,913.0,739.0,760593,113.0,12.0,13.0,1.0,,18.622653002301583,SHARED3FREE,-0.7672328773497228,,,,,,,,80946626.0,0out_0in,atwork 80946626,1974307,work,1,1,1,1,mandatory,1,739.0,509.0,760593,79.0,9.0,18.0,9.0,,,WALK_TRANSIT,0.6201259698287482,1748.0,1603.0,fastest,1665.0,1662.0,cheapest,eat,,1out_1in,work -80946637,1974308,escort,1,1,1,1,non_mandatory,1,716.0,509.0,760593,0.0,5.0,5.0,0.0,,12.671799977139083,SHARED3FREE,-0.8180421450990675,,,,,,,,,0out_0in,escort -81048440,1976791,escort,1,1,1,1,non_mandatory,1,908.0,613.0,761445,124.0,13.0,13.0,0.0,,12.820991913739821,SHARED2FREE,-0.9528167859302505,,,,,,,,,0out_0in,escort +80946637,1974308,escort,1,1,1,1,non_mandatory,1,716.0,509.0,760593,0.0,5.0,5.0,0.0,,12.671799977139084,SHARED3FREE,-0.8180421450990675,,,,,,,,,0out_0in,escort +81048440,1976791,escort,1,1,1,1,non_mandatory,1,908.0,613.0,761445,124.0,13.0,13.0,0.0,,12.82099191373982,SHARED2FREE,-0.9528167859302504,,,,,,,,,0out_0in,escort 81048476,1976792,eat,1,1,1,1,atwork,1,517.0,517.0,761445,70.0,9.0,9.0,0.0,,17.910037480926228,SHARED2FREE,0.7181216397530412,,,,,,,,81048511.0,0out_0in,atwork 81048478,1976792,eatout,1,1,1,1,non_mandatory,1,648.0,613.0,761445,130.0,13.0,19.0,6.0,,11.955235691700665,DRIVEALONEFREE,1.3804088714164349,,,,,,,,,0out_0in,eatout 81048511,1976792,work,1,1,1,1,mandatory,1,517.0,613.0,761445,7.0,5.0,12.0,7.0,,,WALK_TRANSIT,0.5051019359212883,1681.0,1238.0,fastest,1238.0,1681.0,fastest,eat,,0out_0in,work 81130344,1978788,social,1,1,1,1,non_mandatory,1,763.0,961.0,762159,66.0,8.0,20.0,12.0,,12.393316604403664,SHARED2FREE,1.1233925360416968,,,,,,,,,0out_0in,social 81130399,1978790,escort,1,1,1,1,non_mandatory,1,992.0,961.0,762159,54.0,8.0,8.0,0.0,,12.58022321361327,SHARED2FREE,-0.9361958649826466,,,,,,,,,0out_0in,escort 81130429,1978790,work,1,1,1,1,mandatory,1,672.0,961.0,762159,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,0.7319548477569705,,,,,,,no_subtours,,0out_0in,work -81130470,1978791,work,1,1,1,1,mandatory,1,1070.0,961.0,762159,47.0,7.0,17.0,10.0,,,WALK_TRANSIT,1.2232315365174313,1500.0,1762.0,shortest,1762.0,1500.0,shortest,no_subtours,,0out_0in,work +81130470,1978791,work,1,1,1,1,mandatory,1,1070.0,961.0,762159,47.0,7.0,17.0,10.0,,,WALK_TRANSIT,1.223231536517431,1500.0,1762.0,shortest,1762.0,1500.0,shortest,no_subtours,,0out_0in,work 102419958,2498047,school,1,1,1,1,mandatory,1,865.0,730.0,922602,77.0,9.0,16.0,7.0,,,WALK_TRANSIT,4.515115660099912,1698.0,1608.0,shortest,1608.0,1698.0,shortest,,,0out_0in,school 102420007,2498048,work,1,1,1,1,mandatory,1,735.0,730.0,922602,46.0,7.0,16.0,9.0,,,WALK_TRANSIT,2.37613290143943,1592.0,1612.0,shortest,1612.0,1592.0,shortest,no_subtours,,0out_0in,work 102420048,2498049,work,1,1,1,1,mandatory,1,763.0,730.0,922602,29.0,6.0,16.0,10.0,,,WALK,2.522839906360249,,,,,,,no_subtours,,0out_0in,work 107509903,2622192,school,1,1,1,1,mandatory,1,995.0,1025.0,952720,44.0,7.0,14.0,7.0,,,WALK_TRANSIT,0.7240925397746193,1664.0,1666.0,fastest,1666.0,1664.0,fastest,,,0out_0in,school -107509922,2622193,escort,1,1,1,2,non_mandatory,1,773.0,1025.0,952720,19.0,6.0,6.0,0.0,,12.840047018957563,SHARED3FREE,-0.7318852867656347,,,,,,,,,0out_0in,escort -107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,550.0,1025.0,952720,61.0,8.0,15.0,7.0,,12.867502750182359,WALK_TRANSIT,0.3002279969733954,1238.0,1666.0,fastest,1666.0,1238.0,cheapest,,,0out_0in,othmaint +107509922,2622193,escort,1,1,1,2,non_mandatory,1,773.0,1025.0,952720,19.0,6.0,6.0,0.0,,12.840047018957565,SHARED3FREE,-0.7318852867656347,,,,,,,,,0out_0in,escort +107509941,2622193,othmaint,1,1,2,2,non_mandatory,1,550.0,1025.0,952720,61.0,8.0,15.0,7.0,,12.86750275018236,WALK_TRANSIT,0.3002279969733954,1238.0,1666.0,fastest,1666.0,1238.0,cheapest,,,0out_0in,othmaint 107509987,2622194,shopping,1,1,1,1,non_mandatory,1,989.0,1025.0,952720,72.0,9.0,11.0,2.0,,11.974087902319576,SHARED3FREE,0.5678792550825605,,,,,,,,,0out_0in,shopping 107510034,2622195,work,1,1,1,1,mandatory,1,1021.0,1025.0,952720,63.0,8.0,17.0,9.0,,,DRIVEALONEFREE,0.8640931880479102,,,,,,,no_subtours,,0out_0in,work -116640406,2844887,work,1,1,1,1,mandatory,1,845.0,846.0,1028031,111.0,11.0,23.0,12.0,,,TNC_SINGLE,6.579157199539979,,,,,,,no_subtours,,0out_1in,work -120287676,2933845,school,1,1,1,1,mandatory,1,666.0,574.0,1048898,121.0,12.0,21.0,9.0,,,WALK,-0.007445252449514138,,,,,,,,,0out_0in,school +116640406,2844887,work,1,1,1,1,mandatory,1,845.0,846.0,1028031,111.0,11.0,23.0,12.0,,,WALK_TRANSIT,0.9802398468480144,1730.0,1695.0,shortest,1695.0,1730.0,cheapest,no_subtours,,0out_0in,work +120287676,2933845,school,1,1,1,1,mandatory,1,666.0,574.0,1048898,121.0,12.0,21.0,9.0,,,WALK,-0.0074452524495141,,,,,,,,,0out_0in,school 120287717,2933846,school,1,1,1,1,mandatory,1,515.0,574.0,1048898,62.0,8.0,16.0,8.0,,,SHARED2FREE,-1.016021399976598,,,,,,,,,0out_0in,school -120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,657.0,574.0,1048898,42.0,7.0,12.0,5.0,,13.002449945790438,WALK_TRANSIT,0.8636594074657713,1238.0,1559.0,shortest,1559.0,1238.0,shortest,,,0out_1in,othdiscr -120287807,2933848,work,1,1,1,1,mandatory,1,502.0,574.0,1048898,31.0,6.0,18.0,12.0,,,WALK_TRANSIT,0.38857733727947175,1333.0,1559.0,fastest,1559.0,1333.0,fastest,no_subtours,,0out_0in,work -131881533,3216622,school,1,1,1,1,mandatory,1,1074.0,1076.0,1148260,136.0,14.0,15.0,1.0,,,WALK_TRANSIT,10.725339744357893,1500.0,1516.0,fastest,1516.0,1500.0,fastest,,,0out_1in,univ +120287752,2933847,othdiscr,1,1,1,1,non_mandatory,1,657.0,574.0,1048898,42.0,7.0,12.0,5.0,,13.002449945790438,WALK_TRANSIT,0.8636594074657715,1238.0,1559.0,shortest,1559.0,1238.0,shortest,,,0out_1in,othdiscr +120287807,2933848,work,1,1,1,1,mandatory,1,502.0,574.0,1048898,31.0,6.0,18.0,12.0,,,WALK_TRANSIT,0.3885773372794717,1333.0,1559.0,fastest,1559.0,1333.0,fastest,no_subtours,,0out_0in,work +131881533,3216622,school,1,1,1,1,mandatory,1,1074.0,1076.0,1148260,136.0,14.0,15.0,1.0,,,WALK_TRANSIT,10.725339744357893,1500.0,1516.0,fastest,1516.0,1500.0,fastest,,,0out_0in,univ diff --git a/activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv b/activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv index 6d04bc125..03a015e70 100644 --- a/activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv +++ b/activitysim/examples/example_sandag/test/regress/final_3_zone_trips.csv @@ -1,20 +1,23 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,destination,origin,tour_id,purpose,destination_logsum,depart,trip_mode,mode_choice_logsum,atap,btap,path_set -10872201,33146,12593,work,1,True,2,791,560,1359025,escort,17.78862021819126,5,WALK_TRANSIT,1.076240180821363,1748.0,1558.0,shortest -10872202,33146,12593,work,2,True,2,1100,791,1359025,work,,7,SHARED2FREE,1.323546666937803,,, -10872205,33146,12593,work,1,False,4,515,1100,1359025,escort,18.443152309342498,16,TAXI,0.9940444731258395,,, -10872206,33146,12593,work,2,False,4,536,515,1359025,eatout,18.04646259905213,17,BIKE,1.5072057797522642,,, -10872207,33146,12593,work,3,False,4,672,536,1359025,escort,18.8509937537178,17,SHARED2FREE,1.45242139445582,,, -10872208,33146,12593,work,4,False,4,560,672,1359025,home,,17,WALK_TRANSIT,1.9107495509585688,1558.0,1333.0,shortest -10872529,33147,12593,work,1,True,1,1070,560,1359066,work,,8,WALK_TRANSIT,2.7379934634249263,1500.0,1558.0,shortest -10872533,33147,12593,work,1,False,2,995,1070,1359066,escort,19.304294035594243,15,SHARED2FREE,1.7167528830202354,,, -10872534,33147,12593,work,2,False,2,560,995,1359066,home,,15,SHARED2FREE,1.2449334998555297,,, -11957177,36454,13797,shopping,1,True,1,725,580,1494647,shopping,,13,WALK_TRANSIT,1.4450301070637832,1605.0,1238.0,fastest -11957181,36454,13797,shopping,1,False,1,580,725,1494647,home,,17,WALK_TRANSIT,1.965213626430132,1238.0,1605.0,shortest -11957185,36454,13797,shopping,1,True,2,687,580,1494648,escort,21.455782988843794,18,WALK_TRANSIT,4.827028844466682,1748.0,1562.0,fastest -11957186,36454,13797,shopping,2,True,2,739,687,1494648,shopping,,18,BIKE,2.6679630470987634,,, -11957189,36454,13797,shopping,1,False,1,580,739,1494648,home,,18,WALK_TRANSIT,2.0871839076409286,1238.0,1662.0,shortest -11957553,36455,13797,work,1,True,1,562,580,1494694,work,,8,WALK_TRANSIT,2.135658438923573,1558.0,1562.0,cheapest -11957557,36455,13797,work,1,False,1,580,562,1494694,home,,12,BIKE,1.9570590317256964,,, +10872201,33146,12593,work,1,True,3,879,560,1359025,escort,11.70885284520791,5,DRIVEALONEFREE,-0.3548746577733072,,, +10872202,33146,12593,work,2,True,3,989,879,1359025,escort,12.022433281644073,7,DRIVEALONEFREE,-0.361684345054043,,, +10872203,33146,12593,work,3,True,3,1100,989,1359025,work,,7,DRIVEALONEFREE,0.1801428827020189,,, +10872205,33146,12593,work,1,False,1,560,1100,1359025,home,,17,DRIVEALONEFREE,-0.368339088809198,,, +10872529,33147,12593,work,1,True,1,1070,560,1359066,work,,8,WALK_TRANSIT,2.7567263588191,1500.0,1558.0,shortest +10872533,33147,12593,work,1,False,2,942,1070,1359066,escort,19.449635104296835,15,DRIVEALONEFREE,1.4771881293112104,,, +10872534,33147,12593,work,2,False,2,560,942,1359066,home,,15,SHARED2FREE,1.0374930881113709,,, +11957177,36454,13797,shopping,1,True,1,725,580,1494647,shopping,,13,DRIVEALONEFREE,0.1717448995480592,,, +11957181,36454,13797,shopping,1,False,2,803,725,1494647,shopping,12.016029658018422,17,TAXI,0.0352267728440656,,, +11957182,36454,13797,shopping,2,False,2,580,803,1494647,home,,17,DRIVEALONEFREE,0.07359791064631,,, +11957185,36454,13797,shopping,1,True,2,687,580,1494648,escort,13.593599471819292,18,WALK,0.7788942047635835,,, +11957186,36454,13797,shopping,2,True,2,729,687,1494648,shopping,,18,DRIVEALONEFREE,0.489210171281661,,, +11957189,36454,13797,shopping,1,False,1,580,729,1494648,home,,18,TAXI,0.2313076964301194,,, +11957441,36455,13797,othdiscr,1,True,1,623,580,1494680,othdiscr,,16,DRIVEALONEFREE,0.7744647479734814,,, +11957445,36455,13797,othdiscr,1,False,3,784,623,1494680,othmaint,15.224351954248831,21,SHARED2FREE,0.6723499661375587,,, +11957446,36455,13797,othdiscr,2,False,3,687,784,1494680,social,14.665238994089853,21,SHARED2FREE,0.8916379345159234,,, +11957447,36455,13797,othdiscr,3,False,3,580,687,1494680,home,,21,WALK,1.6583917720273251,,, +11957553,36455,13797,work,1,True,1,562,580,1494694,work,,8,WALK,1.0769131864309256,,, +11957557,36455,13797,work,1,False,1,580,562,1494694,home,,12,SHARED3FREE,1.1126409173456748,,, 13679289,41705,15777,eatout,1,True,1,1070,645,1709911,eatout,,9,WALK_TRANSIT,3.1199845193778537,1500.0,1611.0,fastest 13679293,41705,15777,eatout,1,False,1,645,1070,1709911,home,,15,WALK_TRANSIT,1.5023958487827092,1611.0,1500.0,shortest 13679601,41706,15777,atwork,1,True,1,989,854,1709950,atwork,,12,WALK_TRANSIT,1.744638602675838,1618.0,1748.0,fastest @@ -22,52 +25,69 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 13679881,41706,15777,work,1,True,1,854,645,1709985,work,,8,SHARED2FREE,0.484767983512682,,, 13679885,41706,15777,work,1,False,2,1080,854,1709985,escort,14.795756318103102,18,SHARED2FREE,0.4510582957043532,,, 13679886,41706,15777,work,2,False,2,645,1080,1709985,home,,19,SHARED2FREE,0.4925057974553318,,, -16411529,50035,18261,eatout,1,True,1,756,757,2051441,eatout,,13,WALK,1.1939806545962508,,, -16411533,50035,18261,eatout,1,False,1,757,756,2051441,home,,16,WALK,1.0513254189986925,,, -16411585,50035,18261,eatout,1,True,2,897,757,2051448,shopping,9.847225415280661,16,SHARED3FREE,-0.8214696655451806,,, -16411586,50035,18261,eatout,2,True,2,1070,897,2051448,eatout,,17,WALK,0.17299190819754515,,, +16411585,50035,18261,eatout,1,True,2,897,757,2051448,shopping,9.84722541528066,16,SHARED3FREE,-0.8214696655451806,,, +16411586,50035,18261,eatout,2,True,2,1070,897,2051448,eatout,,17,WALK,0.1729919081975451,,, 16411589,50035,18261,eatout,1,False,1,757,1070,2051448,home,,18,SHARED3FREE,-1.5064572485047776,,, -16411729,50035,18261,school,1,True,1,919,757,2051466,school,,7,SHARED2FREE,0.9176970231226665,,, -16411733,50035,18261,school,1,False,1,757,919,2051466,home,,13,WALK_TRANSIT,1.0330239915909303,1748.0,1618.0,fastest +16411729,50035,18261,school,1,True,1,919,757,2051466,school,,7,SHARED2FREE,0.9176970231226664,,, +16411733,50035,18261,school,1,False,1,757,919,2051466,home,,13,WALK_TRANSIT,1.0330239915909305,1748.0,1618.0,fastest +16411745,50035,18261,shopping,1,True,1,996,757,2051468,shopping,,19,DRIVEALONEFREE,-0.4672462178894699,,, +16411749,50035,18261,shopping,1,False,1,757,996,2051468,home,,19,DRIVEALONEFREE,-0.4597066008562396,,, +16412033,50036,18261,othmaint,1,True,1,877,757,2051504,othmaint,,7,SHARED2FREE,0.8103017184288349,,, +16412037,50036,18261,othmaint,1,False,1,757,877,2051504,home,,14,SHARED2FREE,0.7939513107930013,,, 16412449,50037,18261,work,1,True,1,1070,757,2051556,work,,7,DRIVEALONEFREE,2.631618309801618,,, 16412453,50037,18261,work,1,False,1,757,1070,2051556,home,,16,WALK_TRANSIT,1.2835436251782917,1651.0,1500.0,fastest 18151113,55338,19758,school,1,True,1,699,794,2268889,school,,7,WALK_TRANSIT,1.353066071452224,1608.0,1652.0,cheapest 18151117,55338,19758,school,1,False,1,794,699,2268889,home,,10,SHARED2FREE,1.118204426327703,,, -18151505,55339,19758,work,1,True,1,762,794,2268938,work,,5,DRIVEALONEFREE,-0.09751857931395859,,, -18151509,55339,19758,work,1,False,1,794,762,2268938,home,,16,DRIVEALONEFREE,-0.00758777225194223,,, +18151505,55339,19758,work,1,True,1,762,794,2268938,work,,5,DRIVEALONEFREE,-0.0975185793139585,,, +18151509,55339,19758,work,1,False,1,794,762,2268938,home,,16,DRIVEALONEFREE,-0.0075877722519422,,, 18990529,57897,20552,work,1,True,1,1070,829,2373816,work,,7,WALK_TRANSIT,2.259124587532973,1500.0,1754.0,fastest 18990533,57897,20552,work,1,False,1,829,1070,2373816,home,,20,DRIVEALONEFREE,1.0944715206029072,,, -18990545,57898,20552,atwork,1,True,2,948,948,2373818,othmaint,7.505984009752515,11,WALK,-0.43394566102590587,,, -18990546,57898,20552,atwork,2,True,2,948,948,2373818,atwork,,11,WALK,-0.43394566102590587,,, -18990549,57898,20552,atwork,1,False,1,948,948,2373818,work,,13,WALK,-0.43394566102590587,,, +18990545,57898,20552,atwork,1,True,2,948,948,2373818,othmaint,7.505984009752515,11,WALK,-0.4339456610259058,,, +18990546,57898,20552,atwork,2,True,2,948,948,2373818,atwork,,11,WALK,-0.4339456610259058,,, +18990549,57898,20552,atwork,1,False,1,948,948,2373818,work,,13,WALK,-0.4339456610259058,,, 18990857,57898,20552,work,1,True,1,948,829,2373857,work,,11,DRIVEALONEFREE,-0.4249793219573366,,, -18990861,57898,20552,work,1,False,2,739,948,2373857,escort,11.536722530937924,17,DRIVEALONEFREE,-0.43515529700511774,,, +18990861,57898,20552,work,1,False,2,739,948,2373857,escort,11.536722530937924,17,DRIVEALONEFREE,-0.4351552970051177,,, 18990862,57898,20552,work,2,False,2,829,739,2373857,home,,17,DRIVEALONEFREE,-0.0991454272062134,,, 18991185,57899,20552,work,1,True,1,687,829,2373898,work,,7,WALK,0.5220452718494769,,, 18991189,57899,20552,work,1,False,1,829,687,2373898,home,,17,WALK,0.6195549538462863,,, 18991841,57901,20552,work,1,True,1,708,829,2373980,work,,6,DRIVEALONEFREE,-0.2156500818117738,,, 18991845,57901,20552,work,1,False,1,829,708,2373980,home,,16,DRIVEALONEFREE,-0.82405708338336,,, -18991849,57901,20552,work,1,True,2,687,829,2373981,othmaint,13.312507041737813,18,WALK,1.203803918419165,,, +18991849,57901,20552,work,1,True,2,687,829,2373981,othmaint,13.312507041737812,18,WALK,1.203803918419165,,, 18991850,57901,20552,work,2,True,2,708,687,2373981,work,,21,SHARED2FREE,0.5645998198729414,,, -18991853,57901,20552,work,1,False,1,829,708,2373981,home,,21,DRIVEALONEFREE,0.15388362826215857,,, -20510217,62531,21869,eatout,1,True,1,705,900,2563777,eatout,,15,WALK,-2.961958736713177,,, -20510221,62531,21869,eatout,1,False,1,900,705,2563777,home,,19,WALK,-2.1935851596369167,,, +18991853,57901,20552,work,1,False,1,829,708,2373981,home,,21,DRIVEALONEFREE,0.1538836282621585,,, +20510417,62531,21869,school,1,True,1,938,900,2563802,school,,20,TAXI,1.0846519720828849,,, +20510421,62531,21869,school,1,False,1,900,938,2563802,home,,20,WALK,1.0317475525946904,,, +20510569,62532,21869,escort,1,True,1,647,900,2563821,escort,,6,SHARED2FREE,0.335383128230131,,, +20510573,62532,21869,escort,1,False,1,900,647,2563821,home,,7,DRIVEALONEFREE,0.3214092822815929,,, +20510897,62533,21869,escort,1,True,1,695,900,2563862,escort,,5,SHARED3FREE,0.7146320921116115,,, +20510901,62533,21869,escort,1,False,4,996,695,2563862,shopping,13.9010789936427,6,SHARED3FREE,0.8524136187385734,,, +20510902,62533,21869,escort,2,False,4,565,996,2563862,eatout,14.39637292108163,6,SHARED2FREE,0.5414028775934869,,, +20510903,62533,21869,escort,3,False,4,1099,565,2563862,escort,14.873416692380914,6,SHARED3FREE,0.5359149885298558,,, +20510904,62533,21869,escort,4,False,4,900,1099,2563862,home,,6,SHARED2FREE,0.8757485870243559,,, +20510905,62533,21869,escort,1,True,1,518,900,2563863,escort,,11,SHARED2FREE,0.403734784317824,,, +20510909,62533,21869,escort,1,False,1,900,518,2563863,home,,11,SHARED3FREE,0.4094721213082503,,, +20510913,62533,21869,escort,1,True,1,844,900,2563864,escort,,14,SHARED2FREE,0.2145990810721203,,, +20510917,62533,21869,escort,1,False,1,900,844,2563864,home,,14,SHARED2FREE,0.2175421651558981,,, +20511025,62533,21869,othdiscr,1,True,1,1070,900,2563878,othdiscr,,11,BIKE,3.2327250107654435,,, +20511029,62533,21869,othdiscr,1,False,1,900,1070,2563878,home,,12,BIKE,1.820941282963293,,, +20511401,62534,21869,school,1,True,1,793,900,2563925,school,,8,SHARED3FREE,0.6855068986830097,,, +20511405,62534,21869,school,1,False,1,900,793,2563925,home,,9,SHARED3FREE,0.6540064639192135,,, 22303745,67999,23619,escort,1,True,1,767,973,2787968,escort,,13,DRIVEALONEFREE,0.890462913926255,,, -22303749,67999,23619,escort,1,False,3,1023,767,2787968,eatout,15.21145768299369,13,DRIVEALONEFREE,0.9380038576909149,,, +22303749,67999,23619,escort,1,False,3,1023,767,2787968,eatout,15.21145768299369,13,DRIVEALONEFREE,0.9380038576909148,,, 22303750,67999,23619,escort,2,False,3,993,1023,2787968,escort,16.38782485475755,13,DRIVEALONEFREE,1.1641324346709314,,, 22303751,67999,23619,escort,3,False,3,973,993,2787968,home,,13,SHARED3FREE,1.1940117377263124,,, 22303961,67999,23619,social,1,True,1,988,973,2787995,social,,17,WALK,-0.5648561131494263,,, 22303965,67999,23619,social,1,False,1,973,988,2787995,home,,20,WALK,-0.532826088016878,,, -22304313,68000,23619,work,1,True,2,949,973,2788039,social,22.753813938189786,7,SHARED3FREE,1.149142351882263,,, -22304314,68000,23619,work,2,True,2,1070,949,2788039,work,,8,WALK_TRANSIT,3.3099933379416386,1500.0,1747.0,fastest +22304313,68000,23619,work,1,True,2,949,973,2788039,social,22.753813938189783,7,SHARED3FREE,1.149142351882263,,, +22304314,68000,23619,work,2,True,2,1070,949,2788039,work,,8,WALK_TRANSIT,3.309993337941638,1500.0,1747.0,fastest 22304317,68000,23619,work,1,False,1,973,1070,2788039,home,,21,WALK_TRANSIT,1.875153102901004,1588.0,1500.0,fastest 25904705,78977,26897,school,1,True,1,984,1081,3238088,school,,7,WALK,-0.4961040893656598,,, 25904709,78977,26897,school,1,False,1,1081,984,3238088,home,,14,WALK,-0.4863570793073567,,, -25905145,78979,26897,atwork,1,True,1,1070,897,3238143,atwork,,9,DRIVEALONEFREE,-0.07905790168873156,,, -25905149,78979,26897,atwork,1,False,1,897,1070,3238143,work,,11,DRIVEALONEFREE,0.08969911648121655,,, -25905425,78979,26897,work,1,True,1,897,1081,3238178,work,,7,DRIVEALONEFREE,0.05437050774730416,,, -25905429,78979,26897,work,1,False,1,1081,897,3238178,home,,18,DRIVEALONEFREE,0.22372783432698584,,, -421021769,1283602,435012,work,1,True,1,1078,521,52627721,work,,8,WALK_TRANSIT,1.8939124714977293,1584.0,1608.0,fastest +25905145,78979,26897,atwork,1,True,1,1070,897,3238143,atwork,,9,DRIVEALONEFREE,-0.0790579016887315,,, +25905149,78979,26897,atwork,1,False,1,897,1070,3238143,work,,11,DRIVEALONEFREE,0.0896991164812165,,, +25905425,78979,26897,work,1,True,1,897,1081,3238178,work,,7,DRIVEALONEFREE,0.0543705077473041,,, +25905429,78979,26897,work,1,False,1,1081,897,3238178,home,,18,DRIVEALONEFREE,0.2237278343269858,,, +421021769,1283602,435012,work,1,True,1,1078,521,52627721,work,,8,WALK_TRANSIT,1.8939124714977291,1584.0,1608.0,fastest 421021773,1283602,435012,work,1,False,1,521,1078,52627721,home,,18,WALK_TRANSIT,0.9194329115009408,1238.0,1584.0,shortest 421108705,1283868,435278,atwork,1,True,1,1070,1070,52638588,atwork,,12,WALK,2.4750620100011926,,, 421108709,1283868,435278,atwork,1,False,1,1070,1070,52638588,work,,12,WALK,2.4750620100011926,,, @@ -78,88 +98,88 @@ trip_id,person_id,household_id,primary_purpose,trip_num,outbound,trip_count,dest 421109021,1283868,435278,work,1,False,1,537,1070,52638627,home,,18,SHARED2FREE,1.283382912854287,,, 421134601,1283946,435356,work,1,True,1,1070,523,52641825,work,,7,WALK_TRANSIT,2.648329293837569,1500.0,1604.0,shortest 421134605,1283946,435356,work,1,False,1,523,1070,52641825,home,,19,TNC_SINGLE,1.3977246630790026,,, -421348457,1284598,436008,work,1,True,1,553,562,52668557,work,,9,WALK,0.34775876785101223,,, -421348461,1284598,436008,work,1,False,1,562,553,52668557,home,,19,WALK,0.35217449627894437,,, +421348457,1284598,436008,work,1,True,1,553,562,52668557,work,,9,WALK,0.3477587678510122,,, +421348461,1284598,436008,work,1,False,1,562,553,52668557,home,,19,WALK,0.3521744962789443,,, 421878553,1286215,437625,atwork,1,True,1,1077,606,52734819,atwork,,10,WALK_TRANSIT,1.186699589189828,1500.0,1562.0,cheapest 421878557,1286215,437625,atwork,1,False,1,606,1077,52734819,work,,13,WALK_TRANSIT,1.681572479856284,1562.0,1500.0,fastest -421878833,1286215,437625,work,1,True,1,606,656,52734854,work,,8,DRIVEALONEFREE,0.11024787576512153,,, -421878837,1286215,437625,work,1,False,3,934,606,52734854,othmaint,11.66765616556947,17,DRIVEALONEFREE,-0.33173180548126086,,, -421878838,1286215,437625,work,2,False,3,730,934,52734854,othmaint,11.283765093022993,19,DRIVEALONEFREE,-0.16433084991577782,,, -421878839,1286215,437625,work,3,False,3,656,730,52734854,home,,19,DRIVEALONEFREE,0.09340599142741139,,, -423180385,1290184,441594,atwork,1,True,2,926,977,52897548,othmaint,11.163941600123657,10,DRIVEALONEFREE,-0.20509058630850757,,, -423180386,1290184,441594,atwork,2,True,2,1100,926,52897548,atwork,,10,DRIVEALONEFREE,-0.29221466914808103,,, -423180389,1290184,441594,atwork,1,False,1,977,1100,52897548,work,,13,WALK,-0.01987782347295992,,, -423180577,1290184,441594,othmaint,1,True,1,540,1096,52897572,othmaint,,5,TNC_SHARED,0.11356519344165517,,, -423180581,1290184,441594,othmaint,1,False,1,1096,540,52897572,home,,5,DRIVEALONEFREE,0.16594948745626117,,, -423180585,1290184,441594,othmaint,1,True,1,1070,1096,52897573,othmaint,,8,WALK,1.2067577614152127,,, -423180589,1290184,441594,othmaint,1,False,1,1096,1070,52897573,home,,9,WALK,1.2804142107957976,,, -423180593,1290184,441594,othmaint,1,True,1,1070,1096,52897574,othmaint,,9,BIKE,1.2059663153862772,,, -423180597,1290184,441594,othmaint,1,False,1,1096,1070,52897574,home,,9,BIKE,1.2688582838752338,,, -423180665,1290184,441594,work,1,True,1,977,1096,52897583,work,,9,DRIVEALONEFREE,-0.19686415987020087,,, -423180669,1290184,441594,work,1,False,2,996,977,52897583,shopping,10.57412967355008,20,WALK,0.20872113777343163,,, +421878833,1286215,437625,work,1,True,1,606,656,52734854,work,,8,DRIVEALONEFREE,0.1102478757651215,,, +421878837,1286215,437625,work,1,False,3,934,606,52734854,othmaint,11.66765616556947,17,DRIVEALONEFREE,-0.3317318054812608,,, +421878838,1286215,437625,work,2,False,3,730,934,52734854,othmaint,11.283765093022993,19,DRIVEALONEFREE,-0.1643308499157778,,, +421878839,1286215,437625,work,3,False,3,656,730,52734854,home,,19,DRIVEALONEFREE,0.0934059914274113,,, +423180353,1290184,441594,atwork,1,True,1,732,977,52897544,atwork,,11,WALK,2.454959930326644,,, +423180357,1290184,441594,atwork,1,False,1,977,732,52897544,work,,11,SHARED2FREE,2.474151530078552,,, +423180401,1290184,441594,eatout,1,True,1,949,1096,52897550,eatout,,21,SHARED2FREE,0.0292772650529429,,, +423180405,1290184,441594,eatout,1,False,2,1070,949,52897550,othmaint,13.725541816697769,21,DRIVEALONEFREE,-0.5109700761493449,,, +423180406,1290184,441594,eatout,2,False,2,1096,1070,52897550,home,,21,WALK,1.478188695251212,,, +423180553,1290184,441594,othdiscr,1,True,1,684,1096,52897569,othdiscr,,5,DRIVEALONEFREE,-0.0552559508415055,,, +423180557,1290184,441594,othdiscr,1,False,1,1096,684,52897569,home,,7,TAXI,-0.0112939168809909,,, +423180561,1290184,441594,othdiscr,1,True,1,762,1096,52897570,othdiscr,,21,WALK_TRANSIT,1.8308609456730651,1748.0,1516.0,fastest +423180565,1290184,441594,othdiscr,1,False,1,1096,762,52897570,home,,22,DRIVEALONEFREE,1.1096229314740322,,, +423180569,1290184,441594,othdiscr,1,True,1,725,1096,52897571,othdiscr,,23,WALK,-3.2668547335399403,,, +423180573,1290184,441594,othdiscr,1,False,1,1096,725,52897571,home,,23,WALK,-3.2660886555615467,,, +423180665,1290184,441594,work,1,True,1,977,1096,52897583,work,,9,DRIVEALONEFREE,-0.1968641598702008,,, +423180669,1290184,441594,work,1,False,2,996,977,52897583,shopping,10.57412967355008,20,WALK,0.2087211377734316,,, 423180670,1290184,441594,work,2,False,2,1096,996,52897583,home,,21,DRIVEALONEFREE,-0.1682790295025423,,, -423325641,1290626,442036,work,1,True,2,1070,1100,52915705,work,23.18866767080017,8,WALK_TRANSIT,2.8246315365649473,1500.0,1584.0,cheapest -423325642,1290626,442036,work,2,True,2,1070,1070,52915705,work,,9,TAXI,3.1320493895194774,,, -423325645,1290626,442036,work,1,False,1,1100,1070,52915705,home,,18,WALK_TRANSIT,1.8829102540483182,1584.0,1500.0,shortest -611033041,1862905,721960,othdiscr,1,True,1,986,960,76379130,othdiscr,,15,WALK_TRANSIT,1.4885049380905107,1618.0,1762.0,shortest +423325641,1290626,442036,work,1,True,2,1070,1100,52915705,work,23.18866767080017,8,WALK_TRANSIT,2.8246315365649477,1500.0,1584.0,cheapest +423325642,1290626,442036,work,2,True,2,1070,1070,52915705,work,,9,TAXI,3.132049389519477,,, +423325645,1290626,442036,work,1,False,1,1100,1070,52915705,home,,18,WALK_TRANSIT,1.8829102540483185,1584.0,1500.0,shortest +611033041,1862905,721960,othdiscr,1,True,1,986,960,76379130,othdiscr,,15,WALK_TRANSIT,1.4885049380905109,1618.0,1762.0,shortest 611033045,1862905,721960,othdiscr,1,False,1,960,986,76379130,home,,21,TAXI,1.3532506038209091,,, 611033369,1862906,721960,othdiscr,1,True,1,992,960,76379171,othdiscr,,11,SHARED3FREE,0.8858713264739554,,, -611033373,1862906,721960,othdiscr,1,False,2,551,992,76379171,eatout,14.365988124910027,16,DRIVEALONEFREE,0.6551993708892542,,, +611033373,1862906,721960,othdiscr,1,False,2,551,992,76379171,eatout,14.365988124910029,16,DRIVEALONEFREE,0.6551993708892542,,, 611033374,1862906,721960,othdiscr,2,False,2,960,551,76379171,home,,16,SHARED2FREE,0.5117735347645973,,, -647572569,1974306,760593,othdiscr,1,True,1,564,509,80946571,othdiscr,,8,WALK,0.12477528626857051,,, -647572573,1974306,760593,othdiscr,1,False,1,509,564,80946571,home,,16,WALK,0.11684501363456502,,, +647572569,1974306,760593,othdiscr,1,True,1,564,509,80946571,othdiscr,,8,WALK,0.1247752862685705,,, +647572573,1974306,760593,othdiscr,1,False,1,509,564,80946571,home,,16,WALK,0.116845013634565,,, 647572729,1974307,760593,atwork,1,True,1,913,739,80946591,atwork,,12,SHARED3FREE,2.326963701825421,,, 647572733,1974307,760593,atwork,1,False,1,739,913,80946591,work,,13,SHARED3FREE,2.32846863119764,,, 647573009,1974307,760593,work,1,True,2,741,509,80946626,shopping,18.29690262001317,9,WALK_TRANSIT,1.757205419198924,1663.0,1333.0,fastest 647573010,1974307,760593,work,2,True,2,739,741,80946626,work,,10,BIKE,2.23760901377759,,, -647573013,1974307,760593,work,1,False,2,518,739,80946626,work,19.081960514674993,17,WALK_TRANSIT,2.9100248711462138,1681.0,1662.0,cheapest +647573013,1974307,760593,work,1,False,2,518,739,80946626,work,19.081960514674996,17,WALK_TRANSIT,2.9100248711462138,1681.0,1662.0,cheapest 647573014,1974307,760593,work,2,False,2,509,518,80946626,home,,18,WALK,2.5433977364719564,,, 647573097,1974308,760593,escort,1,True,1,716,509,80946637,escort,,5,SHARED3FREE,0.8908384736539703,,, 647573101,1974308,760593,escort,1,False,1,509,716,80946637,home,,5,SHARED3FREE,0.8921116412562625,,, -648387521,1976791,761445,escort,1,True,1,908,613,81048440,escort,,13,SHARED2FREE,0.43187460597514504,,, -648387525,1976791,761445,escort,1,False,1,613,908,81048440,home,,13,SHARED2FREE,0.42769386397548775,,, +648387521,1976791,761445,escort,1,True,1,908,613,81048440,escort,,13,SHARED2FREE,0.431874605975145,,, +648387525,1976791,761445,escort,1,False,1,613,908,81048440,home,,13,SHARED2FREE,0.4276938639754877,,, 648387809,1976792,761445,atwork,1,True,1,517,517,81048476,atwork,,9,WALK,3.011532825794776,,, 648387813,1976792,761445,atwork,1,False,1,517,517,81048476,work,,9,WALK,3.011532825794776,,, 648387825,1976792,761445,eatout,1,True,1,648,613,81048478,eatout,,13,DRIVEALONEFREE,0.4724646811902892,,, 648387829,1976792,761445,eatout,1,False,1,613,648,81048478,home,,19,TAXI,0.5571365851477499,,, 648388089,1976792,761445,work,1,True,1,517,613,81048511,work,,5,WALK_TRANSIT,1.796194897875614,1681.0,1238.0,cheapest -648388093,1976792,761445,work,1,False,1,613,517,81048511,home,,12,DRIVEALONEFREE,1.4744434978618561,,, +648388093,1976792,761445,work,1,False,1,613,517,81048511,home,,12,DRIVEALONEFREE,1.474443497861856,,, 649042753,1978788,762159,social,1,True,1,763,961,81130344,social,,8,SHARED2FREE,0.3356357191681573,,, 649042757,1978788,762159,social,1,False,1,961,763,81130344,home,,20,SHARED2FREE,0.3505516593935055,,, 649043193,1978790,762159,escort,1,True,1,992,961,81130399,escort,,8,SHARED2FREE,0.5305214939922914,,, 649043197,1978790,762159,escort,1,False,1,961,992,81130399,home,,8,SHARED2FREE,0.5188517472186277,,, 649043433,1978790,762159,work,1,True,1,672,961,81130429,work,,8,DRIVEALONEFREE,-0.3341036694423639,,, -649043437,1978790,762159,work,1,False,1,961,672,81130429,home,,17,DRIVEALONEFREE,-0.33189664309585226,,, +649043437,1978790,762159,work,1,False,1,961,672,81130429,home,,17,DRIVEALONEFREE,-0.3318966430958522,,, 649043761,1978791,762159,work,1,True,1,1070,961,81130470,work,,7,WALK_TRANSIT,2.6922733054492127,1500.0,1762.0,fastest 649043765,1978791,762159,work,1,False,1,961,1070,81130470,home,,17,TAXI,1.4645945681666606,,, -819359665,2498047,922602,school,1,True,1,865,730,102419958,school,,9,TAXI,1.2028968838653513,,, -819359669,2498047,922602,school,1,False,1,730,865,102419958,home,,16,SHARED2FREE,1.8464031037089241,,, +819359665,2498047,922602,school,1,True,1,865,730,102419958,school,,9,TAXI,1.202896883865351,,, +819359669,2498047,922602,school,1,False,1,730,865,102419958,home,,16,SHARED2FREE,1.846403103708924,,, 819360057,2498048,922602,work,1,True,1,735,730,102420007,work,,7,SHARED3FREE,1.7808819076757447,,, -819360061,2498048,922602,work,1,False,1,730,735,102420007,home,,16,WALK_TRANSIT,2.0223714515905495,1612.0,1592.0,shortest +819360061,2498048,922602,work,1,False,1,730,735,102420007,home,,16,WALK_TRANSIT,2.022371451590549,1612.0,1592.0,shortest 819360385,2498049,922602,work,1,True,1,763,730,102420048,work,,6,WALK,-0.7841986127882443,,, 819360389,2498049,922602,work,1,False,1,730,763,102420048,home,,16,WALK,-0.8403247829423018,,, 860079225,2622192,952720,school,1,True,1,995,1025,107509903,school,,7,TNC_SINGLE,1.737007403541493,,, 860079229,2622192,952720,school,1,False,1,1025,995,107509903,home,,14,SHARED3FREE,1.6399355775465674,,, -860079377,2622193,952720,escort,1,True,1,773,1025,107509922,escort,,6,SHARED3FREE,0.9453815876415103,,, +860079377,2622193,952720,escort,1,True,1,773,1025,107509922,escort,,6,SHARED3FREE,0.9453815876415104,,, 860079381,2622193,952720,escort,1,False,1,1025,773,107509922,home,,6,SHARED2FREE,0.9690872179986344,,, 860079529,2622193,952720,othmaint,1,True,1,550,1025,107509941,othmaint,,8,TAXI,1.6791134568237254,,, -860079533,2622193,952720,othmaint,1,False,1,1025,550,107509941,home,,15,WALK_TRANSIT,1.6848126498987461,1666.0,1238.0,shortest -860079897,2622194,952720,shopping,1,True,1,989,1025,107509987,shopping,,9,WALK,1.6280881165461683,,, +860079533,2622193,952720,othmaint,1,False,1,1025,550,107509941,home,,15,WALK_TRANSIT,1.6848126498987464,1666.0,1238.0,shortest +860079897,2622194,952720,shopping,1,True,1,989,1025,107509987,shopping,,9,WALK,1.6280881165461685,,, 860079901,2622194,952720,shopping,1,False,1,1025,989,107509987,home,,11,SHARED3FREE,1.5894514263370938,,, -860080273,2622195,952720,work,1,True,1,1021,1025,107510034,work,,8,DRIVEALONEFREE,0.13076087259157862,,, +860080273,2622195,952720,work,1,True,1,1021,1025,107510034,work,,8,DRIVEALONEFREE,0.1307608725915786,,, 860080277,2622195,952720,work,1,False,1,1025,1021,107510034,home,,17,DRIVEALONEFREE,0.1511979688414838,,, -933123249,2844887,1028031,work,1,True,1,845,846,116640406,work,,11,WALK,1.3386215748714405,,, -933123253,2844887,1028031,work,1,False,2,769,845,116640406,eatout,16.31439014198426,23,WALK,1.3218750596260462,,, -933123254,2844887,1028031,work,2,False,2,846,769,116640406,home,,23,TNC_SINGLE,1.2022721883024985,,, -962301409,2933845,1048898,school,1,True,1,666,574,120287676,school,,12,WALK,-1.1062441750768535,,, +933123249,2844887,1028031,work,1,True,1,845,846,116640406,work,,11,SHARED3FREE,1.662725895784853,,, +933123253,2844887,1028031,work,1,False,1,846,845,116640406,home,,23,DRIVEALONEFREE,1.6190252500331577,,, +962301409,2933845,1048898,school,1,True,1,666,574,120287676,school,,12,WALK,-1.1062441750768537,,, 962301413,2933845,1048898,school,1,False,1,574,666,120287676,home,,21,WALK,-1.227339677708164,,, 962301737,2933846,1048898,school,1,True,1,515,574,120287717,school,,8,SHARED2FREE,-2.095040038174043,,, 962301741,2933846,1048898,school,1,False,1,574,515,120287717,home,,16,SHARED2FREE,-2.102822435414125,,, 962302017,2933847,1048898,othdiscr,1,True,1,657,574,120287752,othdiscr,,7,WALK_TRANSIT,1.5362116862704658,1238.0,1559.0,cheapest -962302021,2933847,1048898,othdiscr,1,False,2,1070,657,120287752,eatout,17.04052424640584,12,WALK_TRANSIT,3.4941014068165894,3.0,1238.0,shortest +962302021,2933847,1048898,othdiscr,1,False,2,1070,657,120287752,eatout,17.04052424640584,12,WALK_TRANSIT,3.494101406816589,3.0,1238.0,shortest 962302022,2933847,1048898,othdiscr,2,False,2,574,1070,120287752,home,,12,WALK_TRANSIT,1.3230638799617858,1559.0,1500.0,fastest 962302457,2933848,1048898,work,1,True,1,502,574,120287807,work,,6,BIKE,1.3439545881637307,,, 962302461,2933848,1048898,work,1,False,1,574,502,120287807,home,,18,WALK_TRANSIT,1.3169033457581467,1559.0,1333.0,shortest 1055052265,3216622,1148260,univ,1,True,1,1074,1076,131881533,univ,,14,TAXI,0.933892780827025,,, -1055052269,3216622,1148260,univ,1,False,2,1074,1074,131881533,univ,16.695408348525785,15,WALK,1.106944205307494,,, -1055052270,3216622,1148260,univ,2,False,2,1076,1074,131881533,home,,15,SHARED2FREE,0.8615934658413547,,, +1055052269,3216622,1148260,univ,1,False,1,1076,1074,131881533,home,,15,BIKE,0.8615934658413547,,, diff --git a/activitysim/examples/example_sandag/test/test_sandag.py b/activitysim/examples/example_sandag/test/test_sandag.py index 71313bec8..eb87c2ce2 100644 --- a/activitysim/examples/example_sandag/test/test_sandag.py +++ b/activitysim/examples/example_sandag/test/test_sandag.py @@ -4,6 +4,7 @@ import subprocess import pkg_resources +import pytest import pandas as pd import pandas.testing as pdt @@ -29,8 +30,14 @@ def psrc_example_path(dirname): resource = os.path.join('examples', 'example_psrc', dirname) return pkg_resources.resource_filename('activitysim', resource) +def build_data(): + pass -def test_sandag(): +@pytest.fixture(scope='module') +def data(): + build_data() + +def run_test(zone, multiprocess=False): def test_path(dirname): return os.path.join(os.path.dirname(__file__), dirname) @@ -40,41 +47,65 @@ def regress(zone): # ## regress tours regress_tours_df = pd.read_csv(test_path(f'regress/final_{zone}_zone_tours.csv')) tours_df = pd.read_csv(test_path(f'output/final_{zone}_zone_tours.csv')) + tours_df.to_csv(test_path(f'regress/final_{zone}_zone_tours_last_run.csv'), index=False) print(f"regress tours") - pdt.assert_frame_equal(tours_df, regress_tours_df), "regress tours" + pdt.assert_frame_equal(tours_df, regress_tours_df, rtol=1e-03) # ## regress trips regress_trips_df = pd.read_csv(test_path(f'regress/final_{zone}_zone_trips.csv')) trips_df = pd.read_csv(test_path(f'output/final_{zone}_zone_trips.csv')) + trips_df.to_csv(test_path(f'regress/final_{zone}_zone_trips_last_run.csv'), index=False) print(f"regress trips") - pdt.assert_frame_equal(trips_df, regress_trips_df), "regress trips" + pdt.assert_frame_equal(trips_df, regress_trips_df, rtol=1e-03) + + # run test + file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') + + if zone == '2': + base_configs = psrc_example_path(f'configs') + else: + base_configs = mtc_example_path(f'configs') + + run_args = ['-c', test_path(f'configs_{zone}_zone'), + '-c', example_path(f'configs_{zone}_zone'), + '-c', base_configs, + '-d', example_path(f'data_{zone}'), + '-o', test_path('output')] - # run tests with and without multi processing - zones = ['1', '2', '3'] - test_combos = [(z, mp) for z in zones for mp in [False, True]] - for test_combo in test_combos: - zone, multiprocess = test_combo + if multiprocess: + run_args = run_args + ['-s', 'settings_mp.yaml'] - file_path = os.path.join(os.path.dirname(__file__), 'simulation.py') + subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) - if zone == '2': - base_configs = psrc_example_path(f'configs') - else: - base_configs = mtc_example_path(f'configs') + regress(zone) - run_args = ['-c', test_path(f'configs_{zone}_zone'), - '-c', example_path(f'configs_{zone}_zone'), - '-c', base_configs, - '-d', example_path(f'data_{zone}'), - '-o', test_path('output')] +def test_1_zone(data): + run_test(zone='1', multiprocess=False) - if multiprocess: - run_args = run_args + ['-s', 'settings_mp.yaml'] +def test_1_zone_mp(data): + run_test(zone='1', multiprocess=True) - subprocess.run(['coverage', 'run', '-a', file_path] + run_args, check=True) +def test_2_zone(data): + run_test(zone='2', multiprocess=False) - regress(zone) +def test_2_zone_mp(data): + run_test(zone='2', multiprocess=True) +def test_3_zone(data): + run_test(zone='3', multiprocess=False) + +def test_3_zone_mp(data): + run_test(zone='3', multiprocess=True) if __name__ == '__main__': - test_sandag() + + # call each test explicitly so we get a pass/fail for each + build_data() + run_test(zone='1', multiprocess=False) + run_test(zone='1', multiprocess=True) + + run_test(zone='2', multiprocess=False) + run_test(zone='2', multiprocess=True) + + run_test(zone='3', multiprocess=False) + run_test(zone='3', multiprocess=True) \ No newline at end of file diff --git a/activitysim/examples/example_semcog/configs/trip_destination.yaml b/activitysim/examples/example_semcog/configs/trip_destination.yaml index 7ea232427..1bd5b0fc6 100755 --- a/activitysim/examples/example_semcog/configs/trip_destination.yaml +++ b/activitysim/examples/example_semcog/configs/trip_destination.yaml @@ -15,7 +15,7 @@ DEST_CHOICE_SAMPLE_TABLE_NAME: trip_destination_sample # model-specific logsum-related settings TRIP_ORIGIN: origin ALT_DEST_COL_NAME: dest_taz -PRIMARY_DEST: destination +PRIMARY_DEST: tour_leg_dest # must be created in preprocessor REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: - tour_mode diff --git a/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv b/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv index 0e5e80100..e4317d8e8 100755 --- a/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv +++ b/activitysim/examples/example_semcog/configs/trip_destination_annotate_trips_preprocessor.csv @@ -7,3 +7,4 @@ Description,Target,Expression #,,not needed as school is not chosen as an intermediate trip destination #,_grade_school,"(df.primary_purpose == 'school') & reindex(persons.is_gradeschool, df.person_id)" #,size_segment,"df.primary_purpose.where(df.primary_purpose != 'school', np.where(_grade_school,'gradeschool', 'highschool'))" +,tour_leg_dest,"np.where(df.outbound,reindex(tours.destination, df.tour_id), reindex(tours.origin, df.tour_id))" \ No newline at end of file