Skip to content

Commit

Permalink
merge remote-tracking branch 'remotes/origin/develop'
Browse files Browse the repository at this point in the history
update test results

save outputs to make tests with multiple tests easier to update
  • Loading branch information
bstabler committed Oct 27, 2021
2 parents 2894c2e + ca2edd1 commit 8ccd49f
Show file tree
Hide file tree
Showing 51 changed files with 1,424 additions and 1,322 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -15,4 +15,4 @@ and benefit from contributions of other agency partners.

## Documentation

https://activitysim.github.io/activitysim
https://activitysim.github.io/activitysim
9 changes: 0 additions & 9 deletions activitysim/core/simulate.py
Expand Up @@ -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:
Expand Down
Expand Up @@ -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
Expand Down
Expand Up @@ -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))"
12 changes: 6 additions & 6 deletions activitysim/examples/example_mtc/configs/accessibility.csv
Expand Up @@ -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
Expand All @@ -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)
Expand Down
Expand Up @@ -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)"
Expand Down
5 changes: 5 additions & 0 deletions activitysim/examples/example_mtc/configs/constants.yaml
Expand Up @@ -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

0 comments on commit 8ccd49f

Please sign in to comment.