SF-CHAMP 5 - FROGGER - San Francisco's Newly-updated Travel Model
1. SF-CHAMP Basics
Version 5.0 AKA Frogger
Elizabeth Sall
Dan Tischler
Drew Cooper
Presentation to the City Family
September 18th, 2014
2. WHAT IS SF-CHAMP?
San Francisco’s Chained Activity Modeling Process
A regional, activity-based travel demand model
SF-CHAMP Model Basics 2
3. What’s SF-CHAMP?
A tool that predicts activity schedules, trips, routes, and
travel times for every individual in the San Francisco
Bay Area based on land use, policy, and the built
environment.
SF-CHAMP Model Basics 3
4. WHY DO WE HAVE A TRAVEL
MODEL AT SFCTA?
Because people have questions that it can help inform
Because the current Bay Area model maintained by MTC doesn’t
meet our needs
…and…
Because the CMA legislation says the CMA is supposed to
SF-CHAMP Model Basics 4
5. So what do we use it for?
San Francisco Transportation Plan
Fleet Plan
Waterfront Transportation Analysis
Transit Core Capacity
Congestion Pricing (TI and Downtown)
Climate Action Strategies and Inventories
Feasibility Studies (i.e. Geneva BRT; Central Subway
Phase III)
Alternatives Analysis
Environmental Analysis (EIS/EIR)
Public Health Analysis
SF-CHAMP Model Basics 5
7. Step 1 – Get the Land Use Inputs
ABAG - SCS
Countywide
Totals
SF Planning
Dept.
SF TAZs (Plan B)
ABAG - SCS
Non-SF
TAZs
Households, Jobs,
& Population
Households, Jobs,
& Population
Households & Jobs
ABAG/MTC
All TAZs
Households & Jobs
Income & Age
TAZ Level Land Use for Bay Area
Income & Age
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 7
8. Step 1 – Get the Land Use Inputs
981 zones in San Francisco
1,275 in other Bay Area
counties
# Households
Population
Employment by 6 categories
Income Quartiles
Population by Age
# Parking Spots
Parking District*
Percent Paying for Parking
Parking Costs (commute/other)
School Enrollment (Grade, High, College/Univ)
Area Type
Land Area
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 8
9. Step 2 – Get the Network Inputs Coded
Streetname
Facility Type (i.e. Collector, Bikepath, Alleyway, etc)
# Lanes (AM, PM, Offpeak)
Auto capacity
Freeflow Auto Speed
Bus Lanes (unpainted diamond, side, center)
Transit Signal Priority (low/high benefit)
Other transit priority treatments (seconds benefit)
Bike facilities (bike class, paint)
Slope
Distance
Transit operator (Muni, Caltrain, BART, etc)
Mode (commuter rail, heavy rail, local bus, etc.)
Frequency (by time of day)
Vehicle Type (40’ motor, articulated trolley, 2 car LRT)
Route (series nodes)
Stops (permissions to board, exit vary)
Delay by stop (based on riders getting on/off)
Fare (case fare used as proxy)
10. Network Version Control
• Many projects might happen in the future
• Many versions of projects being evaluated
• Projects evolve from analysis, public feedback, etc.
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 10
11. How do we keep track of this mess?
• Code each project (back many years) individually in
Python.
• Plans are collections of projects (i.e. SFTP, or 2030
Baseline)
Network Wrangler
• Code base to pull together transportation projects
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 11
12. Behind the Curtain – Network Coding
• Projects version controlled using Git
• Grab projects via a tag for intra-project consistency
• Can always go back to a previous version
• Model runs log which version they use so you can be consistent
SF-CHAMP Model Basics 12
13. Network Build Scripts
• Scenarios built by project and “tag”
• Limits errors from coding
• Very simple to run a ton of different scenarios
Net Build Specifications in build_networks.py
Network Coding – Network Build Script 13
14. Network Coding QC
• Can export coding in planner-digestable formats
• Can review changes between scenarios so planners
can sign off
Network Coding – Visualize and QC Coding 14
15. READY TO RUN?
• Write the “client” a memo about the inputs to make
sure everybody is on the same page.
• Get another staff member to make sure you got it right
on the technical side.
Network Coding – Network Build Script 15
16. Now we’re ready to roll…
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 16
17. Population Synthesis:
Make People & HHs
Inputs
• Land Use input by TAZ
• Census Data by PUMA
People x HH
• Role (worker,
student..)
• Income
• Age
• Gender
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 17
18. + a Sim with a home
HOME
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 18
19. Workplace Location choice:
Each worker chooses where to work
Inputs
• Jobs in each TAZ x type
• Modes, costs, distances
Output
• Workplace TAZ
Calibration Data
• Census Journey to Work Flows**
• AM Peak bridge and transit volumes**
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 19
20. + Workplace
HOME
WORK
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 20
21. Vehicle Availability:
How many cars does my home need?
Inputs
• Accessibility of home & work
• Accessibility between them
• Demographics
• Residential parking
restrictions**
Outputs:
• Household Vehicles
Calibration Data:
• American Community Survey **
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 21
22. Day Pattern Model:
What will I do today?
Inputs
• Accessibility of home & work
• Accessibility between them
• Demographics
Outputs
• Tour pattern for the day
Calibration Data
• California Household Travel Survey
2012/2013**
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 22
23. + Day Pattern
HOME
PRIMARY TOUR:
Home-based
Work
WORK
= Tour
INTERMEDIATE
STOP ON
WAY TO WORK
WORK-BASED
DESTINATION
HOME BASED
TOUR
DESTINATION
SECONDARY
HOME-BASED
TOUR
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 23
24. Tour Destination Choice:
What destination is making me go out?
Inputs
• Initial tour schedule
• Accessibility
• Demographics
• Role
Outputs
• Tour Destinations
Calibration Data
• California Household Travel Survey
2012/2013**
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 24
25. + Tour Destination
HOME
PRIMARY TOUR:
Home-based
Work
WORK
= Tour
INTERMEDIATE
STOP ON
WAY TO WORK
WORK-BASED
DESTINATION
HOME BASED
TOUR
DESTINATION
WORK-BASED
SUB-TOUR
SECONDARY
HOME-BASED
TOUR
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 25
26. Tour Mode Choice:
Is this a bike? Muni-ing? Take the car?
Inputs
• Accessibility to destinations
for that time of day by mode
• Demographics
Output
• Tour mode
Calibration Data
• California Household Travel Survey
2012/2013**
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 26
27. + Tour Mode
HOME
PRIMARY TOUR:
Home-based
Work
WORK
= Tour
INTERMEDIATE
STOP ON
WAY TO WORK
WORK-BASED
DESTINATION
HOME BASED
TOUR
DESTINATION
WORK-BASED
SUB-TOUR
SECONDARY
HOME-BASED
TOUR
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 27
28. Intermediate Stop Choice:
So where am I stopping on the way?
Inputs
• Tour pattern requirements
• Accessibility of potential stops
given tour mode
Output
• Stop locations
Calibration Data
• California Household Travel Survey
2012/2013**
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 28
29. + intermediate stops/trips
HOME
Number indicates trip order
PRIMARY TOUR:
Home-based
Work
WORK
= Tour
= Trip
INTERMEDIATE
STOP ON
WAY TO WORK
1
2
3
WORK-BASED
DESTINATION
HOME BASED
TOUR
DESTINATION
WORK-BASED
SUB-TOUR
7
SECONDARY
HOME-BASED
TOUR
5
4
6
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 29
30. Trip Mode Choice:
Exactly what mode between destinations
Input
• Cost, Travel Time, Access
• Demographics
• Tour Mode
Output
• Detailed mode for all trips
• LRT vs Bus vs Walk etc.
Calibration Data
• California Household Travel Survey 2012/2013**
• 2013 Transit Ridership Data and Traffic Counts**
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 30
31. + trip mode
HOME
Number indicates trip order
PRIMARY TOUR:
Home-based
Work
WORK
= Tour
= Trip
INTERMEDIATE
STOP ON
WAY TO WORK
1
2
3
WORK-BASED
DESTINATION
HOME BASED
TOUR
DESTINATION
WORK-BASED
SUB-TOUR
7
SECONDARY
HOME-BASED
TOUR
5
4
6
SF-CHAMP Model Basics 31
32. Route Choice:
Exactly what route between destinations
Inputs
• Bike: hills, bike lanes, sharrows, turns, road capacity,
distance, demographics
• Walk: employment density, road capacity, hills, distance,
indirectness
• Car: travel time, cost, distance
• Transit: walk distance, wait times, transfer distances, travel
time, crowding/available spots
Calibration Data
• CycleTracks bike route data
• 2013 Transit Ridership Data and Traffic Counts**
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 32
36. How are we looking?
Daily Muni Boardings by Line
800,000
700,000
600,000
500,000
400,000
300,000
200,000
100,000
150,000
100,000
50,000
-
(50,000)
(100,000)
Daily Screenlines in/out of SF
Observed Modeled
SF-CHAMP Model Basics 36
50,000
45,000
40,000
35,000
30,000
25,000
20,000
15,000
10,000
5,000
0
0 5,000 10,000 15,000 20,000 25,000 30,000 35,000 40,000 45,000 50,000
Modeled Boardings
Observed Boardings
Muni Buses
Muni Cable
Cars
Muni LRT
y=x
0
Muni BART Golden
Gate
AC Transit Caltrain SamTrans
Daily Boardings
Daily Boardings by Operator
Observed Modeled
(150,000)
Golden Gate Peninsula Bay Bridge
37. Auto Validation
Screenlines
100,000
80,000
60,000
40,000
20,000
0
EA AM MD PM EV
Flow
Weekday Time of Day Observed - EB Estimated - EB
100,000
80,000
60,000
40,000
20,000
0
Observed - NB Estimated - NB
EA AM MD PM EV
Flow
100,000
80,000
60,000
40,000
20,000
0
EA AM MD PM EV
Flow
SF-CHAMP Model Basics Time of Day
37
Bay Bridge
Golden Gate Bridge
Southern County Line
44. Outputs
Highway Assignment
SF-CHAMP Model Basics 44
Link info by Time:
• Vehicle Volume
• Person Volume
• Vehicle Miles Travelled
• Person Miles Travelled
• Vehicle Hours Delay
• Person Hours Delay
• Travel Time
• Distance
• Speed
• V/C
Formats
• Cube Network
• Shapefile
45. Outputs
Transit Assignment
Link info by Time Period and Route:
• Headway
• Person Capacity
• Vehicle type
• Boardings/Exits
• Volume
• Impossible boardings
SF-CHAMP Model Basics 45
Formats
• Shapefile
46. SF-CHAMP Model Basics 46
Outputs
Trip Tables
Trip flows by
• Origin,
• Destination,
• Mode,
• Time of day
Formats
• Cube Matrix
• OMX HDF5
47. SF-CHAMP Model Basics 47
Outputs
Skims
Trip Characteristics by
• Origin,
• Destination,
• Mode,
• Time of day
Formats
• Cube Matrix
• OMX HDF5
Characteristics
• Access/Egress Distance
• Access/Egress Node
• Transfers
• In Vehicle Time
• Initial and Transfer Wait
• Transfer walk
• Cost
48. SF-CHAMP Model Basics 48
Outputs
Trip List
Trip Characteristics for each person:
• Person ID / Household ID
• # autos
• Gender
• Age
• Income
• Household size
• Role (worker, student, etc)
• Job/School TAZ
• Value of time
• Tour purpose
• Origin TAZ / Destination TAZ
• Mode
• Time of day
Formats
• HDF5
49. How do I get stuff?
data@sfcta.org
• Group inbox
• Please let us know:
• What project you are working on
• What question you are trying to answer
• Depending on applicability:
• Time of day, analysis years, geographic realm
• We might ask more questions – just trying to make
sure we are as consistent as possible – we have a
LOT of model runs
SF-CHAMP Model Basics 49
50. How do I get stuff?
: Super standard example
Howdy Modelers,
We are doing a NegDec for streetscape project ABC.
Would you please send us the latest official current and
future baseline (2040) traffic volumes for the PM Peak
for streets A and B in the vicinity of C. I am enclosing
our latest traffic counts in the area. We are on a tight
deadline, so getting something before next Tuesday the
X would be awesome.
When possible, you should always use the modeled
differences between scenarios layered on existing data
Appropriate methods documented in NCHRP 765
SF-CHAMP Model Basics 50
51. How do I get stuff?
You might have a big project…
Howdy modelers,
We are in the process of developing a scope and budget
for a big study of the transit system’s core capacity
needs over the next 30 years. We’ll be needing you all
to do some SF-CHAMP analysis. Let’s sit down and
discuss what we think an appropriate scope is for you
and our consultants.
o The sooner the better…
o We can probably help you save consultant money.
o Even just putting it on our radar for the medium future
helps (so we don’t accept other large projects)
SF-CHAMP Model Basics 51
52. How do I get stuff?
You might not know what you need…
Howdy modelers,
I’m trying to flush out a methodology to evaluate the
economic impacts of the Muni system. I’m pretty sure it
involves some model outputs, but I’m not quite sure
what would be useful just yet. Can we sit down and
discuss sometime in the next week?
WE WANT TO HELP! LET US HELP YOU HELP US HELP YOU!
o Get us involved sooner rather than later.
o Sometimes we might need an MOA/$ if things get big…
o But plenty of times we have something “on the shelf”
SF-CHAMP Model Basics 52
54. Activity-Based Travel Demand Model?
A few principles
• No cart before the horse / driving home if you
walked to work / leaving work before you got there
interdependence explicitly recognized.
If it looks like
this outside
every morning…
then you’ll
probably
decide to…
But you don’t
have a car at
work now…
So even if
the evening auto
commute is cake,
you’ll need to…
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 54
55. Activity-Based Travel Demand Model?
A few principles
• No cart before the horse driving home if you walked
to work / leaving work before you got there
interdependence explicitly recognized.
If this area where you
work has a congestion
fee from 4 to 6 pm…
And you live here…
You realize that if
you drive like this
In the AM…
That it will cost
you like this
In the PM…
$
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 55
56. Example: Walking to SFCTA
Work Purpose
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 56
57. Transit Walk Access Links: Perceived Weight
Walk-Local-Walk, Destination Ferry Building
SAN FRANCISCO COUNTY TRANSPORTATION AUTHORITY 57
Editor's Notes
> Show the geometric expansion of years x #projects x version
> Don’t want to spend a ton recoding the same project, exactly the same way, unnecessarily
People are very error-prone and often we had to re-run scenarios b/c of minor network coding inconsistencies (not even nec. Errors)
Dependencies need to be explicitly represented somewhere, as opposed to building a BRT (in the transit files) w/out the bus lane (in the highway files)
https://github.com/sfcta/TAutils/tree/master/wrangler
> Make the network tree bigger
https://github.com/sfcta/TAutils/tree/master/wrangler
And leaves an easy-to-read list of projects that were included in the network.
Debug and log outputs has a list of all these projects, that can be easily compared across scenarios
You can pivot from existing networks (i.e. if you just had a handful of projects to layer on a baseline)
https://github.com/sfcta/TAutils/tree/master/wrangler
And leaves an easy-to-read list of projects that were included in the network.
Debug and log outputs has a list of all these projects, that can be easily compared across scenarios
You can pivot from existing networks (i.e. if you just had a handful of projects to layer on a baseline)
Not shown: Initially Schedule Tours
Not shown: Tour scheduling based on
Accessibility by time of day for chosen destination