DaySim PNR Lot Choice - ActivitySim/activitysim GitHub Wiki

This spec is a work-in-progress for discussion. PSRC uses this feature in DaySim so let's plan to test it and get feedback once their version of ActivitySim is up and running.

Overview

DaySim can be setup to support 1, 2, or 3 zone systems. See the users guide for more information. A 1 zone system uses only TAZs, a 2 zone system uses MAZs and TAZs, and a 3 zone system uses MAZs, TAZs, and Stop Areas. Stop Areas are essentially the same as transit access points (TAPs) in CT-RAMP and ActivitySim. In addition to the zone system setup, DaySim also has a park and ride (PNR) lot choice feature, where the user inputs a list of PNR lots/zones for DaySim to calculate drive transit path cost through the best lot for each OD pair. DaySim calculates the best lot for access and looks up the zone walk transit access time for egress. This feature is essentially a version of transit virtual path building (TVPB) as constructed for ActivitySim.

The following configuration for TVPB can be used to model DaySim PNR lot choice.

Basic Configuration Example

zone_system: 3

taz_skims: 
  - HWYSKMAM_taz.omx
  - HWYSKMEA_taz.omx
  - HWYSKMEV_taz.omx
  - HWYSKMMD_taz.omx
  - HWYSKMPM_taz.omx

tap_skims: # use taz skims for taps as well since DaySim is modeling transit access at the taz level
  - HWYSKMAM_taz.omx
  - HWYSKMEA_taz.omx
  - HWYSKMEV_taz.omx
  - HWYSKMMD_taz.omx
  - HWYSKMPM_taz.omx

maz: maz_taz.csv # each zone is a maz
tap: maz_taz.csv # each zone is also a tap

maz_to_tap:
  drive:
    table: maz_taz_tap_drive.csv
    # Provide a pre-processed accessible PNR lots/zones/TAPs for each origin zone to 
    # replace the DaySim PNR lot/zone file and max distance filter.  Include drive transit access time/distance.
  walk:
    table: maz_tap_walk.csv
    # Provide one maz for each tap since DaySim just gets the transit access time 
    # from the zone file.  Include transit walk egress time/distance.

TRANSIT_VIRTUAL_PATH_SETTINGS:

  tour_mode_choice:
    units: utility
    path_types: # drop WTW 
      DTW:
        access: drive
        egress: walk
        max_paths_across_tap_sets: 1 # only best and only 1 skim set provided
        max_paths_per_tap_set: 1
      WTD:
        access: walk
        egress: drive
        max_paths_across_tap_sets: 1 # only best and only 1 skim set provided
        max_paths_per_tap_set: 1
    tap_tap_expressions:
      SPEC: tvpb_utility_tap_tap.csv # can write user expressions as opposed to use 
                                     # DaySim's hard coded equations
      PREPROCESSOR:
        SPEC: tvpb_utility_tap_tap_annotate_choosers_preprocessor.csv
        DF: df
    maz_tap_expressions:
      drive:
        SPEC: tvpb_utility_drive_maz_tap.csv # can write user expressions as opposed to 
                                             # use DaySim's hard coded equations