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_idhousehold_idagePNUMsexpemploypstudentptype_household_idx_age_16_to_19age_16_padultmalefemalehas_non_workerhas_retireehas_preschool_kidhas_driving_kidhas_school_kidhas_full_timehas_part_timehas_universitystudent_is_employednonstudent_to_schoolis_studentis_gradeschoolis_highschoolis_universityschool_segmentis_workerhome_zone_idwork_location_taz
i32i32i32i32i32i32i32i32i32boolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolbooli8boolenumenum
256712567147113143817falsetruetruetruefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsetruefalsetruefalse2false"TAZ-5""TAZ-8"
256752567527123134066falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-5""TAZ-12"
256782567830123143498falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-13"
256832568323113144539falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-6"
256842568452113144710falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-8"
7554848286351368113151559falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
7554855286352068113154711falsetruetruefalsetruefalsefalsefalsefalsefalsefalsetruetruefalsefalsetruefalsetruefalse2false"TAZ-20""TAZ-20"
7554859286352493123151148falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-6"
755488728635527612315371falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-10"
7554903286356882123154690falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
store2.persons.to_polars()
shape: (8_212, 32)
person_idhousehold_idagePNUMsexpemploypstudentptype_household_idx_age_16_to_19age_16_padultmalefemalehas_non_workerhas_retireehas_preschool_kidhas_driving_kidhas_school_kidhas_full_timehas_part_timehas_universitystudent_is_employednonstudent_to_schoolis_studentis_gradeschoolis_highschoolis_universityschool_segmentis_workerhome_zone_idwork_location_taz
i32i32i32i32i32i32i32i32i32boolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolbooli8boolenumenum
256712567147113143817falsetruetruetruefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsetruefalsetruefalse2false"TAZ-5""TAZ-5"
256752567527123134066falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-5""TAZ-5"
256782567830123143498falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-6"
256832568323113144539falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-6"
256842568452113144710falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-6"
7554848286351368113151559falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
7554855286352068113154711falsetruetruefalsetruefalsefalsefalsefalsefalsefalsetruetruefalsefalsetruefalsetruefalse2false"TAZ-20""TAZ-20"
7554859286352493123151148falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
755488728635527612315371falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
7554903286356882123154690falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
store3.persons.to_polars()
shape: (8_212, 32)
person_idhousehold_idagePNUMsexpemploypstudentptype_household_idx_age_16_to_19age_16_padultmalefemalehas_non_workerhas_retireehas_preschool_kidhas_driving_kidhas_school_kidhas_full_timehas_part_timehas_universitystudent_is_employednonstudent_to_schoolis_studentis_gradeschoolis_highschoolis_universityschool_segmentis_workerhome_zone_idwork_location_taz
i32i32i32i32i32i32i32i32i32boolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolboolbooli8boolenumenum
256712567147113143817falsetruetruetruefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsetruefalsetruefalse2false"TAZ-5""TAZ-5"
256752567527123134066falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-5""TAZ-5"
256782567830123143498falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-6"
256832568323113144539falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-6"
256842568452113144710falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-6""TAZ-6"
7554848286351368113151559falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
7554855286352068113154711falsetruetruefalsetruefalsefalsefalsefalsefalsefalsetruetruefalsefalsetruefalsetruefalse2false"TAZ-20""TAZ-20"
7554859286352493123151148falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
755488728635527612315371falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"
7554903286356882123154690falsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsefalse2false"TAZ-20""TAZ-20"