Work Location#
import mtc
import traveler as tv
tv.log_to_stdout(10)
tv.max_num_threads()
[00:00.81] DEBUG: Logging to stdout set to level 10
[00:00.81] DEBUG: Multithreading is enabled with no explicit limit on number of threads.
store = mtc.mini()
from traveler.steps import SampleHouseholds
store = store.run_steps(SampleHouseholds(n=14_250))
/Users/jpn/Git/traveler/src/traveler/steps/_sample_households.py:268: UserWarning: n (14250) is greater than the number of households in the store, returning all households.
return self.run_via_polars(store)
store.info()
<mtc.tables.store.Store>
households = <JaxTable with shape (5000,)>
persons = <JaxTable with shape (8212,)>
skims = <Skims with 21 keys>
land_use = <JaxTable with shape (25,)>
time_periods = {'EA': 0, 'AM': 1, 'MD': 2, 'PM': 3, 'EV': 4}
tours = <JaxTable with shape (20000,)>
from mtc.models import initialize
from mtc.models.annotate_landuse import annotate_landuse
annotate_landuse
<function mtc.models.annotate_landuse.annotate_landuse(land_use_idx: traveler.core.stored._table.ReferencedTable[mtc.tables.landuse.LandUse], store: mtc.tables.store.Store, param=None)>
store = store.run_steps(initialize)
[00:01.86] INFO: compute_values step annotate_landuse completed in 0:00:00.06
[00:02.18] INFO: compute_values step annotate_persons completed in 0:00:00.31
[00:02.34] INFO: compute_values step annotate_households completed in 0:00:00.16
[00:02.35] DEBUG: Assembling chunks of size 1000000000 for multithreaded operation on 5000 choosers.
[00:02.35] DEBUG: Starting multithreaded operation on 1 chunks.
[00:02.42] DEBUG: completed chunk 0
[00:02.42] DEBUG: _compute @ /Users/jpn/Git/traveler/src/traveler/steps/_compute_values.py:23 completed in 0.0796 seconds.
[00:02.43] INFO: compute_values step household_value_of_time completed in 0:00:00.08
store.info()
<mtc.tables.store.Store>
households = <JaxTable with shape (5000,)>
persons = <JaxTable with shape (8212,)>
skims = <Skims with 21 keys>
land_use = <JaxTable with shape (25,)>
time_periods = {'EA': 0, 'AM': 1, 'MD': 2, 'PM': 3, 'EV': 4}
tours = <JaxTable with shape (20000,)>
from mtc.models.tour_mode import tour_mode
from mtc.models.work_location import (
work_location,
work_location_no_logsums,
work_location_sampled,
)
work_location.param = {"time": -0.5, "mu": 0.59, "tour_mode": tour_mode.param}
work_location_no_logsums.param = {
"time": -0.5,
"mu": 0.59,
"tour_mode": tour_mode.param,
}
work_location_sampled.param = {
"time": -0.5,
"mu": 0.59,
"tour_mode": tour_mode.param,
}
store1 = store.run_steps(work_location_no_logsums)
[00:02.44] DEBUG: Assembling chunks of size 10000 for multithreaded operation on 8212 choosers.
[00:02.44] DEBUG: Starting multithreaded operation on 1 chunks.
[00:02.53] DEBUG: completed chunk 0
[00:02.54] DEBUG: _enum_choice @ /Users/jpn/Git/traveler/src/traveler/steps/_enum_choice.py:26 completed in 0.1003 seconds.
store2 = store.run_steps(work_location)
[00:02.54] DEBUG: Assembling chunks of size 2500 for multithreaded operation on 8212 choosers.
[00:02.56] DEBUG: Starting multithreaded operation on 4 chunks.
[00:02.76] DEBUG: completed chunk 1
[00:02.76] DEBUG: completed chunk 0
[00:02.76] DEBUG: completed chunk 2
[00:02.85] DEBUG: completed chunk 3
[00:02.85] DEBUG: _enum_choice @ /Users/jpn/Git/traveler/src/traveler/steps/_enum_choice.py:26 completed in 0.3120 seconds.
store3 = store.run_steps(work_location_sampled)
[00:02.86] DEBUG: Assembling chunks of size 2500 for multithreaded operation on 8212 choosers.
[00:02.86] DEBUG: Starting multithreaded operation on 4 chunks.
[00:03.21] DEBUG: completed chunk 1
[00:03.21] DEBUG: completed chunk 2
[00:03.21] DEBUG: completed chunk 0
[00:03.24] DEBUG: completed chunk 3
[00:03.24] DEBUG: _choice @ /Users/jpn/Git/traveler/src/traveler/steps/_sample_logsum_simulate.py:96 completed in 0.3851 seconds.
store1.persons.to_polars()
shape: (8_212, 32)
| person_id | household_id | age | PNUM | sex | pemploy | pstudent | ptype | _household_idx_ | age_16_to_19 | age_16_p | adult | male | female | has_non_worker | has_retiree | has_preschool_kid | has_driving_kid | has_school_kid | has_full_time | has_part_time | has_university | student_is_employed | nonstudent_to_school | is_student | is_gradeschool | is_highschool | is_university | school_segment | is_worker | home_zone_id | work_location_taz |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| i32 | i32 | i32 | i32 | i32 | i32 | i32 | i32 | i32 | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | i8 | bool | enum | enum |
| 25671 | 25671 | 47 | 1 | 1 | 3 | 1 | 4 | 3817 | false | true | true | true | false | false | false | false | false | false | false | false | false | false | false | true | false | true | false | 2 | false | "TAZ-5" | "TAZ-8" |
| 25675 | 25675 | 27 | 1 | 2 | 3 | 1 | 3 | 4066 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-5" | "TAZ-12" |
| 25678 | 25678 | 30 | 1 | 2 | 3 | 1 | 4 | 3498 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-13" |
| 25683 | 25683 | 23 | 1 | 1 | 3 | 1 | 4 | 4539 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-6" |
| 25684 | 25684 | 52 | 1 | 1 | 3 | 1 | 4 | 4710 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-8" |
| … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
| 7554848 | 2863513 | 68 | 1 | 1 | 3 | 1 | 5 | 1559 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554855 | 2863520 | 68 | 1 | 1 | 3 | 1 | 5 | 4711 | false | true | true | false | true | false | false | false | false | false | false | true | true | false | false | true | false | true | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554859 | 2863524 | 93 | 1 | 2 | 3 | 1 | 5 | 1148 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-6" |
| 7554887 | 2863552 | 76 | 1 | 2 | 3 | 1 | 5 | 371 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-10" |
| 7554903 | 2863568 | 82 | 1 | 2 | 3 | 1 | 5 | 4690 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
store2.persons.to_polars()
shape: (8_212, 32)
| person_id | household_id | age | PNUM | sex | pemploy | pstudent | ptype | _household_idx_ | age_16_to_19 | age_16_p | adult | male | female | has_non_worker | has_retiree | has_preschool_kid | has_driving_kid | has_school_kid | has_full_time | has_part_time | has_university | student_is_employed | nonstudent_to_school | is_student | is_gradeschool | is_highschool | is_university | school_segment | is_worker | home_zone_id | work_location_taz |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| i32 | i32 | i32 | i32 | i32 | i32 | i32 | i32 | i32 | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | i8 | bool | enum | enum |
| 25671 | 25671 | 47 | 1 | 1 | 3 | 1 | 4 | 3817 | false | true | true | true | false | false | false | false | false | false | false | false | false | false | false | true | false | true | false | 2 | false | "TAZ-5" | "TAZ-5" |
| 25675 | 25675 | 27 | 1 | 2 | 3 | 1 | 3 | 4066 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-5" | "TAZ-5" |
| 25678 | 25678 | 30 | 1 | 2 | 3 | 1 | 4 | 3498 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-6" |
| 25683 | 25683 | 23 | 1 | 1 | 3 | 1 | 4 | 4539 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-6" |
| 25684 | 25684 | 52 | 1 | 1 | 3 | 1 | 4 | 4710 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-6" |
| … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
| 7554848 | 2863513 | 68 | 1 | 1 | 3 | 1 | 5 | 1559 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554855 | 2863520 | 68 | 1 | 1 | 3 | 1 | 5 | 4711 | false | true | true | false | true | false | false | false | false | false | false | true | true | false | false | true | false | true | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554859 | 2863524 | 93 | 1 | 2 | 3 | 1 | 5 | 1148 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554887 | 2863552 | 76 | 1 | 2 | 3 | 1 | 5 | 371 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554903 | 2863568 | 82 | 1 | 2 | 3 | 1 | 5 | 4690 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
store3.persons.to_polars()
shape: (8_212, 32)
| person_id | household_id | age | PNUM | sex | pemploy | pstudent | ptype | _household_idx_ | age_16_to_19 | age_16_p | adult | male | female | has_non_worker | has_retiree | has_preschool_kid | has_driving_kid | has_school_kid | has_full_time | has_part_time | has_university | student_is_employed | nonstudent_to_school | is_student | is_gradeschool | is_highschool | is_university | school_segment | is_worker | home_zone_id | work_location_taz |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| i32 | i32 | i32 | i32 | i32 | i32 | i32 | i32 | i32 | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | bool | i8 | bool | enum | enum |
| 25671 | 25671 | 47 | 1 | 1 | 3 | 1 | 4 | 3817 | false | true | true | true | false | false | false | false | false | false | false | false | false | false | false | true | false | true | false | 2 | false | "TAZ-5" | "TAZ-5" |
| 25675 | 25675 | 27 | 1 | 2 | 3 | 1 | 3 | 4066 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-5" | "TAZ-5" |
| 25678 | 25678 | 30 | 1 | 2 | 3 | 1 | 4 | 3498 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-6" |
| 25683 | 25683 | 23 | 1 | 1 | 3 | 1 | 4 | 4539 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-6" |
| 25684 | 25684 | 52 | 1 | 1 | 3 | 1 | 4 | 4710 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-6" | "TAZ-6" |
| … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … | … |
| 7554848 | 2863513 | 68 | 1 | 1 | 3 | 1 | 5 | 1559 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554855 | 2863520 | 68 | 1 | 1 | 3 | 1 | 5 | 4711 | false | true | true | false | true | false | false | false | false | false | false | true | true | false | false | true | false | true | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554859 | 2863524 | 93 | 1 | 2 | 3 | 1 | 5 | 1148 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554887 | 2863552 | 76 | 1 | 2 | 3 | 1 | 5 | 371 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |
| 7554903 | 2863568 | 82 | 1 | 2 | 3 | 1 | 5 | 4690 | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | false | 2 | false | "TAZ-20" | "TAZ-20" |