Skip to content

Commit 564c476

Browse files
dhenslejpn--
andauthored
Trip destination alts preprocessor for both sample and simulate steps (#869)
* trip_destination alts preprocessor * non_hh_veh cat, drop unused cols for alts * blacken * adding missed alts columns used in xborder model * remove unneeded addition to categorical * revert change to drop size terms * creating separate sample and simulate preprocessors --------- Co-authored-by: Jeffrey Newman <[email protected]>
1 parent 1cb48c7 commit 564c476

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

activitysim/abm/models/trip_destination.py

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ class TripDestinationSettings(LocationComponentSettings, extra="forbid"):
6060
PRIMARY_DEST: str = "tour_leg_dest" # must be created in preprocessor
6161
REDUNDANT_TOURS_MERGED_CHOOSER_COLUMNS: list[str] | None = None
6262
preprocessor: PreprocessorSettings | None = None
63-
alts_preprocessor: PreprocessorSettings | None = None
63+
alts_preprocessor_sample: PreprocessorSettings | None = None
64+
alts_preprocessor_simulate: PreprocessorSettings | None = None
6465
CLEANUP: bool
6566
fail_some_trips_for_testing: bool = False
6667
"""This setting is used by testing code to force failed trip_destination."""
@@ -202,6 +203,15 @@ def _destination_sample(
202203

203204
log_alt_losers = state.settings.log_alt_losers
204205

206+
if model_settings.alts_preprocessor_sample:
207+
expressions.assign_columns(
208+
state,
209+
df=alternatives,
210+
model_settings=model_settings.alts_preprocessor_sample,
211+
locals_dict=locals_dict,
212+
trace_label=tracing.extend_trace_label(trace_label, "alts"),
213+
)
214+
205215
choices = interaction_sample(
206216
state,
207217
choosers=trips,
@@ -936,6 +946,15 @@ def trip_destination_simulate(
936946
)
937947
locals_dict.update(skims)
938948

949+
if model_settings.alts_preprocessor_simulate:
950+
expressions.assign_columns(
951+
state,
952+
df=destination_sample,
953+
model_settings=model_settings.alts_preprocessor_simulate,
954+
locals_dict=locals_dict,
955+
trace_label=tracing.extend_trace_label(trace_label, "alts"),
956+
)
957+
939958
log_alt_losers = state.settings.log_alt_losers
940959
destinations = interaction_sample_simulate(
941960
state,
@@ -1246,7 +1265,6 @@ def run_trip_destination(
12461265
state.filesystem, model_settings_file_name
12471266
)
12481267
preprocessor_settings = model_settings.preprocessor
1249-
alts_preprocessor_settings = model_settings.alts_preprocessor
12501268
logsum_settings = state.filesystem.read_model_settings(
12511269
model_settings.LOGSUM_SETTINGS
12521270
)
@@ -1369,15 +1387,6 @@ def run_trip_destination(
13691387
trace_label=nth_trace_label,
13701388
)
13711389

1372-
if alts_preprocessor_settings:
1373-
expressions.assign_columns(
1374-
state,
1375-
df=alternatives,
1376-
model_settings=alts_preprocessor_settings,
1377-
locals_dict=locals_dict,
1378-
trace_label=tracing.extend_trace_label(nth_trace_label, "alts"),
1379-
)
1380-
13811390
if isinstance(
13821391
nth_trips["trip_period"].dtype, pd.api.types.CategoricalDtype
13831392
):

0 commit comments

Comments
 (0)