Skip to content

Commit

Permalink
Merge pull request #661 from JoeJimFlood/tot_tours
Browse files Browse the repository at this point in the history
Moved 'tot_tours' from nm tour frequency script to alternatives file
  • Loading branch information
jpn-- authored Feb 8, 2024
2 parents fc06d62 + 3d4dc35 commit 62c3523
Show file tree
Hide file tree
Showing 8 changed files with 602 additions and 589 deletions.
19 changes: 16 additions & 3 deletions activitysim/abm/models/non_mandatory_tour_frequency.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from __future__ import annotations

import logging
import warnings
from pathlib import Path
from typing import Any

Expand Down Expand Up @@ -200,12 +201,24 @@ def non_mandatory_tour_frequency(
model_settings_file_name,
)

# FIXME kind of tacky both that we know to add this here and del it below
# 'tot_tours' is used in model_spec expressions
alternatives = simulate.read_model_alts(
state, "non_mandatory_tour_frequency_alternatives.csv", set_index=None
)
alternatives["tot_tours"] = alternatives.sum(axis=1)
if "tot_tours" not in alternatives.columns:
# add a column for total tours
alternatives["tot_tours"] = alternatives.sum(axis=1)
warnings.warn(
"The 'tot_tours' column may not be automatically added in the future.",
FutureWarning,
)
else:
# tot_tours already exists, check if it is consistent with legacy behavior
if not (alternatives["tot_tours"] == alternatives.sum(axis=1)).all():
warnings.warn(
"The 'tot_tours' column in non_mandatory_tour_frequency_alternatives.csv "
"does not match the sum of the other columns.",
RuntimeWarning,
)

# filter based on results of CDAP
choosers = persons_merged
Expand Down
2 changes: 1 addition & 1 deletion activitysim/abm/models/util/canonical_ids.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ def determine_flavors_from_alts_file(
flavors = {
c: int(alts[c].max() + max_extension)
for c in alts.columns
if all(alts[c].astype(str).str.isnumeric())
if all(alts[c].astype(str).str.isnumeric()) and (c != "tot_tours")
}
valid_flavors = all(
[(isinstance(flavor, str) & (num >= 0)) for flavor, num in flavors.items()]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,97 +1,97 @@
escort,shopping,othmaint,othdiscr,eatout,social
0,0,0,0,0,0
0,0,0,1,0,0
0,0,0,0,0,1
0,0,0,1,0,1
0,0,0,0,1,0
0,0,0,1,1,0
0,0,0,0,1,1
0,0,0,1,1,1
0,0,1,0,0,0
0,0,1,1,0,0
0,0,1,0,0,1
0,0,1,1,0,1
0,0,1,0,1,0
0,0,1,1,1,0
0,0,1,0,1,1
0,0,1,1,1,1
0,1,0,0,0,0
0,1,0,1,0,0
0,1,0,0,0,1
0,1,0,1,0,1
0,1,0,0,1,0
0,1,0,1,1,0
0,1,0,0,1,1
0,1,0,1,1,1
0,1,1,0,0,0
0,1,1,1,0,0
0,1,1,0,0,1
0,1,1,1,0,1
0,1,1,0,1,0
0,1,1,1,1,0
0,1,1,0,1,1
0,1,1,1,1,1
1,0,0,0,0,0
1,0,0,1,0,0
1,0,0,0,0,1
1,0,0,1,0,1
1,0,0,0,1,0
1,0,0,1,1,0
1,0,0,0,1,1
1,0,0,1,1,1
1,0,1,0,0,0
1,0,1,1,0,0
1,0,1,0,0,1
1,0,1,1,0,1
1,0,1,0,1,0
1,0,1,1,1,0
1,0,1,0,1,1
1,0,1,1,1,1
1,1,0,0,0,0
1,1,0,1,0,0
1,1,0,0,0,1
1,1,0,1,0,1
1,1,0,0,1,0
1,1,0,1,1,0
1,1,0,0,1,1
1,1,0,1,1,1
1,1,1,0,0,0
1,1,1,1,0,0
1,1,1,0,0,1
1,1,1,1,0,1
1,1,1,0,1,0
1,1,1,1,1,0
1,1,1,0,1,1
1,1,1,1,1,1
2,0,0,0,0,0
2,0,0,1,0,0
2,0,0,0,0,1
2,0,0,1,0,1
2,0,0,0,1,0
2,0,0,1,1,0
2,0,0,0,1,1
2,0,0,1,1,1
2,0,1,0,0,0
2,0,1,1,0,0
2,0,1,0,0,1
2,0,1,1,0,1
2,0,1,0,1,0
2,0,1,1,1,0
2,0,1,0,1,1
2,0,1,1,1,1
2,1,0,0,0,0
2,1,0,1,0,0
2,1,0,0,0,1
2,1,0,1,0,1
2,1,0,0,1,0
2,1,0,1,1,0
2,1,0,0,1,1
2,1,0,1,1,1
2,1,1,0,0,0
2,1,1,1,0,0
2,1,1,0,0,1
2,1,1,1,0,1
2,1,1,0,1,0
2,1,1,1,1,0
2,1,1,0,1,1
2,1,1,1,1,1
escort,shopping,othmaint,othdiscr,eatout,social,tot_tours
0,0,0,0,0,0,0
0,0,0,1,0,0,1
0,0,0,0,0,1,1
0,0,0,1,0,1,2
0,0,0,0,1,0,1
0,0,0,1,1,0,2
0,0,0,0,1,1,2
0,0,0,1,1,1,3
0,0,1,0,0,0,1
0,0,1,1,0,0,2
0,0,1,0,0,1,2
0,0,1,1,0,1,3
0,0,1,0,1,0,2
0,0,1,1,1,0,3
0,0,1,0,1,1,3
0,0,1,1,1,1,4
0,1,0,0,0,0,1
0,1,0,1,0,0,2
0,1,0,0,0,1,2
0,1,0,1,0,1,3
0,1,0,0,1,0,2
0,1,0,1,1,0,3
0,1,0,0,1,1,3
0,1,0,1,1,1,4
0,1,1,0,0,0,2
0,1,1,1,0,0,3
0,1,1,0,0,1,3
0,1,1,1,0,1,4
0,1,1,0,1,0,3
0,1,1,1,1,0,4
0,1,1,0,1,1,4
0,1,1,1,1,1,5
1,0,0,0,0,0,1
1,0,0,1,0,0,2
1,0,0,0,0,1,2
1,0,0,1,0,1,3
1,0,0,0,1,0,2
1,0,0,1,1,0,3
1,0,0,0,1,1,3
1,0,0,1,1,1,4
1,0,1,0,0,0,2
1,0,1,1,0,0,3
1,0,1,0,0,1,3
1,0,1,1,0,1,4
1,0,1,0,1,0,3
1,0,1,1,1,0,4
1,0,1,0,1,1,4
1,0,1,1,1,1,5
1,1,0,0,0,0,2
1,1,0,1,0,0,3
1,1,0,0,0,1,3
1,1,0,1,0,1,4
1,1,0,0,1,0,3
1,1,0,1,1,0,4
1,1,0,0,1,1,4
1,1,0,1,1,1,5
1,1,1,0,0,0,3
1,1,1,1,0,0,4
1,1,1,0,0,1,4
1,1,1,1,0,1,5
1,1,1,0,1,0,4
1,1,1,1,1,0,5
1,1,1,0,1,1,5
1,1,1,1,1,1,6
2,0,0,0,0,0,2
2,0,0,1,0,0,3
2,0,0,0,0,1,3
2,0,0,1,0,1,4
2,0,0,0,1,0,3
2,0,0,1,1,0,4
2,0,0,0,1,1,4
2,0,0,1,1,1,5
2,0,1,0,0,0,3
2,0,1,1,0,0,4
2,0,1,0,0,1,4
2,0,1,1,0,1,5
2,0,1,0,1,0,4
2,0,1,1,1,0,5
2,0,1,0,1,1,5
2,0,1,1,1,1,6
2,1,0,0,0,0,3
2,1,0,1,0,0,4
2,1,0,0,0,1,4
2,1,0,1,0,1,5
2,1,0,0,1,0,4
2,1,0,1,1,0,5
2,1,0,0,1,1,5
2,1,0,1,1,1,6
2,1,1,0,0,0,4
2,1,1,1,0,0,5
2,1,1,0,0,1,5
2,1,1,1,0,1,6
2,1,1,0,1,0,5
2,1,1,1,1,0,6
2,1,1,0,1,1,6
2,1,1,1,1,1,7
Loading

0 comments on commit 62c3523

Please sign in to comment.