Parking Results and Outputs#

The parking module produces several categories of output data, written to the simulation’s output databases. These outputs enable post-simulation analysis of parking demand, supply utilization, costs, and choice behavior.

The figure below shows how simulation events flow through per-thread buffers into the output databases, and how zone-level costs computed at startup feed into upstream demand models.

Parking Output Data Flow

Parking Records#

Every individual parking event—whether for a personal vehicle or a TNC fleet vehicle—is recorded in the Parking_Records table of the Demand database. Each record captures:

Field

Description

Parking_ID

The unique identifier of the parking facility used. A value of -1 indicates the vehicle failed to find parking.

Location_ID

The activity location ID associated with the parking event

Link_ID

The network link where the vehicle parked

Vehicle

Reference to the vehicle record

Person

Reference to the person record (null for TNC & Freight vehicles without a traveler)

Time_In

Simulation time (seconds) when the vehicle entered the parking facility

Time_Out

Simulation time (seconds) when the vehicle exited the parking facility

Is_TNC_Vehicle

Boolean flag distinguishing fleet vehicles from personal vehicles

Cost

The parking cost incurred, computed from the facility’s pricing rules

Choice_Id

Links back to the corresponding Parking_Choice_Records entry, if applicable

Escooter_Borrowed

Whether the person borrowed an e-scooter from the parking facility

Records are buffered per simulation thread and periodically flushed to the database to minimize I/O overhead. The double-buffering pattern (active buffer and write buffer) ensures thread safety during concurrent simulation and writing.

Parking Choice Records#

When parking choice logging is enabled in the scenario settings, the Parking_Choice_Records table captures detailed information about every pre-trip parking choice decision. These records are useful for model validation and recalibration.

Each record includes:

Field

Description

Choice_ID

Unique identifier for the choice event

Person

Reference to the person making the choice

choice_event_time

Simulation time of the choice event

type

The parking type of this alternative (on-street or garage)

chosen

Whether this alternative was the selected option

parking_fee

Estimated parking cost for this alternative

distance_to_G

Distance to this garage alternative (for garage options)

Garage_ID

Parking facility ID (for garage options)

Reserved

Whether the chosen garage was successfully reserved

destination

Activity location ID of the trip destination

NumGarageChoices

Number of garage alternatives in the choice set

ChoiceExist

Whether any garage alternatives existed (even if filtered by occupancy)

CanUseEscooter

Whether the person is eligible to use an e-scooter for parking access

is_depart_pk

Peak departure indicator

act_dur_hr

Activity duration in hours

female

Gender indicator

hhsize

Household size

ln_hhinc

Log of household income

urgent

Mandatory activity indicator

age_above_60

Age indicator

ln_dest_empdens

Log of destination employment density

ln_dest_popdens

Log of destination population density

Parking Occupancy Time Series#

The parking result logger periodically writes parking occupancy snapshots to the Parking_Occupancy table in the Result database. The logging interval is controlled by a configurable scenario parameter.

At each logging interval, for every parking facility in the network, the logger records:

Field

Description

Parking_ID

The parking facility identifier

Start_Time

Start of the logging interval

End_Time

End of the logging interval (current simulation time)

Occupancy

Ratio of currently parked vehicles to total spaces

This time-series data enables analysis of how parking demand varies throughout the day, identification of peak occupancy periods, and assessment of whether parking supply is adequate in different parts of the network.

Zone-Level Parking Cost#

During network initialization, average parking costs are computed for each traffic analysis zone and stored for use in other models (e.g., mode choice, destination choice). Two averages are maintained:

  • Short-duration cost: Weighted average cost for a 1-hour stay across all parking facilities in the zone.

  • Routine activity cost: Weighted average cost for an 8-hour stay, representative of a workday parking cost.

These zone-level costs provide aggregate parking price signals to upstream demand models without requiring facility-level detail.