7.3 Version NERPMAB2

From NFTPO Model
Jump to: navigation, search

7.3 VERSION NERPM-AB2

This section documents the set of improvements that were made to the NERPM model for the release of NERPM-AB2. The improvements focused on:

  • Base year updated from 2010 to 2015
  • Re-built all land use inputs for 2015 and future
  • Switched from parcels to microzones to ease data preparation
  • Switched from PopGen to PopulationSim
  • Updated the highway network to 2015 (NFTPO)
  • Updated the transit network to 2016 (JTA)
  • Updated external traffic volumes and distributions based on Bluetooth OD data (FDOT)
  • Upgraded from the NFTPO specific version of DaySim to the multiple-agency (a.k.a. core) version, which is faster, more stable, and includes new features such as Transportation Network Companies (TNC) mode (i.e. Uber and Lyft)
  • Updated future year scenarios

The details of these improvements can also found in NERPM_AB_FinalReport_v7.docx (DEC 2020).

Contents

Parcel to Microzone (MAZ)

In the previous version of the model, the unit of spatial analysis was parcels. There were approximately 700,000 parcels in the region, which made it difficult to maintain, edit and attribute, both the existing and alternative scenarios. This led to the creation and use of microzones as an alternative, which is halfway between parcels and TAZs and are easier to maintain. As you can see in the table, there are around 55 thousand microzones against 700 thousand parcels. This makes it much easier for the user to update land use information such as employment, enrollment etc. The total number of TAZs in this version is 1862. The plot shows the TAZ and the MAZ layer around downtown Jacksonville. This shows how TAZs and MAZs are related. You can see in the plot that MAZs in downtown tend to be smaller than the ones in the periphery. If you have any questions about the development of MAZs, please refer to the model documentation for more details.


County

Number of Parcels

% Freq

Number of MAZ

% Freq

Number of TAZ

% Freq

Baker

12,490

1.78

1,735

3.14

29

1.56

Clay

84,529

12.02

7,796

14.13

184

9.88

Duval

355,805

50.59

28,263

51.22

1,281

68.80

Nassau

47,443

6.75

4,455

8.07

108

5.80

Putnam

102,053

14.51

6,652

12.05

44

2.36

St. Johns

100,950

14.35

6,283

11.39

216

11.60

Total

703,270

100.00

55,184

100.00

1,862

100.00

Figure: MAZ and TAZ layer in Downtown Jacksonville

Maztaz.jpg

Land-use data updated to base year 2015

Once the microzones were formed the following land-use data were updated for the base year 2015:

Household Data

The household data at parcel level was aggregated to microzone level for the base year 2015.

Employment Data

The employment data was updated using three sources of data:

  • The 2010 parcel employment data projected to 2015
  • Data provided by Infogroup and edited by North Florida TPO
  • Data provided by Cambridge Systematics as described in their June 30, 2017 memorandum “Development of 2015 Employment Data” for FDOT

Please refer to the model documentation for the details on how these data sources were utilized.

School Enrollment Data

School enrollment data from the Florida Department of Education (FDOE) provided by North Florida TPO was used to develop school enrollment data at microzone level for the base year 2015. The details of this development process can be found in the model documentation.

Parking

The parking data was derived from Florida DOT parking shapefiles "Parking surface" and "g100freeway". The website Jacksonville, FL Parking was also used along with the shapefiles to develop parking data.

Lodging

A list of 367 known hotels, motels, and bed and breakfasts from the Florida Department of Business and Professional Regulation provided by North Florida TPO was used to develop lodging information.

Special Generators

Jacksonville International Airport (JAX) and St. Augustine are the two special generators in the model.

The Airport had an attraction value of 15,000 in 2010. Based on several sources, RSG determined that the passenger traffic at the airport has decreased slightly between 2010 and 2015. CAPA – Centre for Aviation noted an overall downward trend in traffic since 2008 but traffic began to pick up in 2013 . The airport’s website lists the 2010 and 2015 number of passengers as 5,602,000 and 5,502,000 respectively, which represents a 1.8% reduction in traffic. FDOT’s 2015 Airport Profile of JAX showed similar findings. Given the small change over the years, we recommend leaving the airport’s attraction value at 15,000 for 2015.

St. Augustine had an attraction value of 2,288 in 2010. This number accounts for tourists coming to the area. In 2010 and 2015, St. Johns County had 3.4 million population and 6.3 million visitors, respectively, which represents an 85% growth over the five-year period. The 2015 number was thought to be an anomaly because in 2015 the City’s celebrate its 450th birthday. However, in 2016 the City had 6.8 million visitors, so an 85% increase may be reasonable. Increasing the attractions value by 85% to 4,240 could have a noticeable impact on links in the vicinity of this TAZ.

PopulationSim

  • PopulationSim is an open platform for population synthesis
  • Replaced PopGen in this version of NERPM-AB
  • Has better demographic and geographic methods compared to PopGen
  • Actively maintained by the travel modeling community
  • Run only when there are major changes in the landuse data

PopulationSim Wiki

Input Data

The main inputs to a population synthesizer are

  • Disaggregate population samples (Seed Sample)
  • Marginal control distributions (Control variables)

The Seed sample is obtained from the Census Public Use Microdata Sample (PUMS) and the Marginal distributions of person and household attributes are obtained from Bureau of Economic and Business Research (BEBR) and Census respectively.

The next step is the preparation of inputs to PopulationSim which includes:

Geographic cross-walk

PopulationSim can handle any number of nested geographies. The geography level (hierarchy) selected for NERPM-AB 2015 to which the marginal distributions are specified are as follows:

  • Meta Geography: Super County (SCOUNTY)
  • Seed Geography: PUMA
  • Sub-seed Geography: TAZ and MAZ

Super-County is chosen instead of County due to overlapping of county and PUMA boundaries. Super County is the combination of multiple County to form one geographic area.

Seed population (Household and Person tables)

One of the main requirements for the seed sample is that it should be representative of the modeling region. The seed sample is obtained from PUMS dataset. The PUMS data contain five years of household records. The seed sample should be representative of the modeling region. It must contain all the specified control variables, as well as any variables that are needed for the travel model but not specified as controls. The PUMS data is downloaded from PUMS website and it is extracted both demographically and geographically for the North Florida TPO region using PUMA codes conforming to the region. There are 11 PUMA regions in the North Florida TPO area. The seed sample must include an initial weight field. The model setup includes the Seed sample that contains a weight field, WGTP, which is used for control of total households.

Controls

Controls or targets are the marginal distributions that form the constraints for the population synthesis procedure. The objective of the population synthesis procedure is to produce a synthetic population with attributes matching these marginal distributions. The controls were developed at three geographic levels:

Super County

The raw input data was downloaded at county level from BEBR. Next, the data was aggregated to super county level. The data at super county level are person level attributes:

  • Male
  • Female
  • Age 0-4
  • Age 5-17
  • Age 18-24
  • Age 25-54
  • Age 55+
Table: BEBR Super County Totals (2015)
SCOUNTY PERSONS MALE FEMALE AGE0-4 AGE5-17 AGE18-24 AGE25-54 AGE55+
12109107 286,322 140,049 146,273 15,257 47,539 23,702 104,701 95,123
12031000 905,574 440,059 465,515 61,304 146,443 87,517 379,741 230,569
12003089 103,553 51,969 51,584 5,963 16,366 8,505 38,968 33,751
12019000 201,277 98,400 102,877 12,543 37,662 18,453 79,447 53,172
TAZ

The raw input data was downloaded at various levels [Source: 2011-15 American Community Survey five-year estimates, ACS5] and it was processed at TAZ level to generate household attributes:

  • Households by Household Size at Block Group Level
    • Household Size 1
    • Household Size 2
    • Household Size 3
    • Household Size 4+
  • Tenure by Age of Householder at Block Group Level
    • Householder Age 15-44
    • Householder Age 45-64
    • Householder Age 65+
  • Households by number of workers at Census Tract Level
    • Zero household workers
    • One household workers
    • Two household workers
    • Three or more than three household workers
  • HHs by income at Census Tract Level
    • Household income $0-$24,999
    • Household income $25,000-$59,999
    • Household income $60,000-$99,999
    • Household income $100,000+
MAZ

The raw input data was obtained at parcel level for the year 2010 and calculated for 2015 using growth factor from 2010 to 2015. The data obtained is total number of households and then aggregated for each MAZ. Once the control files are prepared, the total number of households and persons are calculated across geographies to check for consistency as shown in Table below.

Table: Control data summary (2015)
Data Geography Value
Total number of households MAZ 582,199
Total number of households TAZ 582,199
Number of households in HHSIZE=1 TAZ 155,522
Number of households in HHSIZE=2 TAZ 196,050
Number of households in HHSIZE=3 TAZ 87,996
Number of households in HHSIZE=4+ TAZ 110,821
Total number of persons (from HHSIZE) TAZ 1,397,535
Total number of persons SCOUNTY 1,397,534

In this figure, we see the performance of PopulationSim as it tries to match the controls. In this version of the model, controls such as household size, householder age, household income etc. were used at different levels of geography. The standard deviation (STDEV) of the percentage difference informs us of how much dispersion from the average exists. As you can see, the total number of households at the MAZ level matches perfectly with the controls. PopulationSim does that by design. And we see a very close match on all the other controls as well.

Sdev.jpgPrmse.jpg

Development of 2045 land-use data

The 2045 land-use data was created by applying a methodology, detailed in the model documentation, to the land-use data for the base year (2015) and the BEBR forecasts. The table below shows the summary of comparisons between land-use data for the base year (2015) and the future year (2045).

Table: Comparison of 2015 and 2045 totals

COUNTY Households
2015
Households
2045
Employment
2015
Employment
2045
Enrollment
2015
Enrollment
2045
NASSAU 32,983 51,902 28,480 55,393 13,368 31,576
DUVAL 357,463 541,730 496,394 708,478 211,091 362,983
ST JOHNS 84,540 181,500 66,355 179,066 43,977 116,687
CLAY 70,523 132,830 46,539 105,158 40,877 98,998
BAKER 8,815 15,117 8,909 18,491 5,128 9,876
PUTNAM 31,278 40,307 21,521 35,564 14,856 23,404
TOTAL 585,602 963,386 668,198 1,102,150 329,297 643,524

Development of 2045 control data

Controls at three levels of geography are required to run PopulationSim for North Florida TPO: Super County, TAZ and MAZ. The Super COUNTY level controls were obtained from BEBR data and the TAZ and MAZ level controls were prepared using the 2045 land-use data. Please refer to the model documentation for the details of this development process.

In this figure, we see the performance of PopulationSim as it tries to match the controls. In this version of the model, controls such as household size, householder age, household income etc. were used at different levels of geography. The standard deviation (STDEV) of the percentage difference informs us of how much dispersion from the average exists. As you can see, the total number of households at the MAZ level matches perfectly with the controls. PopulationSim does that by design. And we see a very close match on all the other controls as well.

Sdev2045.jpg

Updating 2045 control data

When updating land-use data it is necessary to update the PopulationSim controls. The following example shows how to update the controls when adding 100 households to MAZ 1439:

Land-use file before update

Lubefore45.jpg

  • Update the land-use “nftpo_microzones_2045.csv” file by adding 100 households to MAZ 1439. The figure above shows the land-use file before the addition of 100 households and the figure below shows the land use file after the addition of 100 households.

Land-use file after update

Luafter45.jpg

  • Edit the variables listed in the table below within the CUBE script “update_controls.S” located in “./User.prg/Population_Synthesis/” folder. The script performs following actions:
    • Makes a copy of control files.
    • Updates MAZ level household controls by comparing existing control values with land-use values.
    • Updates TAZ level household controls by aggregating land-use values by TAZ. Redistributes the additional households by household size based on the distribution of households by household size as observed in control data. Similarly redistributes additional household based on distribution of households by householder age, number of household workers, and household income respectively as observed in the control data.
    • Updates County level population controls by adding additional person based on average household size calculated for each county from existing controls. The additional population is distributed across gender and age group based on distribution of population observed in controls for respective categories.

Table: Variables to update by user when updating update_control.S script

VARIABLE NAME DESCRIPTION EXAMPLE
LANDUSE_PATH Full path to the folder that contains the land-use file. 'E:\NERPMABv2.0\User.prg\DaySim_Data_Tools'
LANDUSE_FILE Name of the land-use file 'nftpo_microzones_2045.csv'
POPSIM_PATH Full path to the PopulationSim folder 'E:\NERPMABv2.0\User.prg\Population_Synthesis'
CONTROL_FOLDER Name of the folder containing the control data 'data_2045'
OVERWRITE_INITIAL A value of 0 will not overwrite the initial files and a value of 1 will overwrite the initial files. 0: Does not overwrite the control_totals_{zone}_initial.csv file
1: Overwrites the control_totals_{zone}_initial.csv file
  • Run “update_controls.bat” file, located in “./User.prg/Population_Synthesis/” folder, by double-clicking. This will call the Cube Voyager and run the “update_controls.S” script.
  • The control files are now updated and are ready to be used by PopulationSim.


Development of 2030 land-use data

The 2030 land-use data was created by applying a methodology, detailed in the model documentation, to the land-use data for the base year (2015) and the BEBR forecasts. The table below shows the summary of comparisons between land-use data for the base year (2015) and the future year (2030).

Table: Comparison of 2015 and 2030 totals

COUNTY Households
2015
Households
2030
Employment
2015
Employment
2030
Enrollment
2015
Enrollment
2030
NASSAU 32,983 41,948 28,480 45,394 13,368 25,998
DUVAL 357,463 453,184 496,394 622,922 211,091 311,765
ST JOHNS 84,540 135,295 66,355 124,742 43,977 79,721
CLAY 70,523 100,980 46,539 81,119 40,877 75,838
BAKER 8,815 12,212 8,909 14,615 5,128 7,602
PUTNAM 31,278 35,535 21,521 32,993 14,856 22,076
TOTAL 585,602 779,154 668,198 921,785 329,297 523,000

Development of 2030 control data

Controls at three levels of geography are required to run PopulationSim for North Florida TPO: Super County, TAZ and MAZ. The Super COUNTY level controls were obtained from BEBR data and the TAZ and MAZ level controls were prepared using the 2030 land-use data. Please refer to the model documentation for the details of this development process.

In this figure, we see the performance of PopulationSim as it tries to match the controls. In this version of the model, controls such as household size, householder age, household income etc. were used at different levels of geography. The standard deviation (STDEV) of the percentage difference informs us of how much dispersion from the average exists. As you can see, the total number of households at the MAZ level matches perfectly with the controls. PopulationSim does that by design. And we see a very close match on all the other controls as well.

Sdev2030.jpg

Updating 2030 control data

When updating land-use data it is necessary to update the PopulationSim controls. The following example shows how to update the controls when adding 100 households to MAZ 1439:

Land-use file before update

Lubefore45.jpg

  • Update the land-use “nftpo_microzones_2030.csv” file by adding 100 households to MAZ 1439. The figure above shows the land-use file before the addition of 100 households and the figure below shows the land use file after the addition of 100 households.

Land-use file after update

Luafter45.jpg

  • Edit the variables listed in the table below within the CUBE script “update_controls.S” located in “./User.prg/Population_Synthesis/” folder. The script performs following actions:
    • Makes a copy of control files.
    • Updates MAZ level household controls by comparing existing control values with land-use values.
    • Updates TAZ level household controls by aggregating land-use values by TAZ. Redistributes the additional households by household size based on the distribution of households by household size as observed in control data. Similarly redistributes additional household based on distribution of households by householder age, number of household workers, and household income respectively as observed in the control data.
    • Updates County level population controls by adding additional person based on average household size calculated for each county from existing controls. The additional population is distributed across gender and age group based on distribution of population observed in controls for respective categories.

Table: Variables to update by user when updating update_control.S script

VARIABLE NAME DESCRIPTION EXAMPLE
LANDUSE_PATH Full path to the folder that contains the land-use file. 'E:\NERPMABv2.0\User.prg\DaySim_Data_Tools'
LANDUSE_FILE Name of the land-use file 'nftpo_microzones_2030.csv'
POPSIM_PATH Full path to the PopulationSim folder 'E:\NERPMABv2.0\User.prg\Population_Synthesis'
CONTROL_FOLDER Name of the folder containing the control data 'data_2030'
OVERWRITE_INITIAL A value of 0 will not overwrite the initial files and a value of 1 will overwrite the initial files. 0: Does not overwrite the control_totals_{zone}_initial.csv file
1: Overwrites the control_totals_{zone}_initial.csv file
  • Run “update_controls.bat” file, located in “./User.prg/Population_Synthesis/” folder, by double-clicking. This will call the Cube Voyager and run the “update_controls.S” script.
  • The control files are now updated and are ready to be used by PopulationSim.

DaySim ABM Model Update

After completion of base year 2015 data aggregation from parcels to microzones, DaySim was tested for the new geographies and the results compared against the parcel results to check for consistencies. The necessary input files were created for DaySim run as explained in detail in Appendix B of the model documentation. After a successful run of DaySim using updated 2015 Microzone and Population synthesis dataset, the results were compared with previous DaySim run using parcels. The small set of tables and figures displayed here show the consistency of the 2015 dataset in DaySim performance. A complete series of tables and figures are shown in the model documentation.

Table: Estimated Households by Number of Vehicles and County (Parcel)

County Number of Vehicles
0 1 2 3 4+ Total  % Total
Baker 309 2,750 3,899 1,285 557 8,800 2%
Clay 2,154 19,501 32,064 11,436 4,123 69,278 12%
Duval 27,194 126,487 137,367 42,231 15,633 348,912 61%
Nassau 1,212 10,006 14,514 4,681 1,820 32,233 6%
Putnam 1,594 11,944 12,800 3,767 1,543 31,648 6%
St. Johns 3,097 25,256 36,209 11,566 4,102 80,230 14%
Total 35,560 195,944 236,853 74,966 27,778 571,101 100%

Table: Estimated Households by Number of Vehicles and County (Microzone + Node to Node Distances)

County Number of Vehicles
0 1 2 3 4+ Total  % Total
Baker 333 2,781 3,868 1,261 557 8,800 2%
Clay 2,491 19,945 31,772 11,122 3,948 69,278 12%
Duval 28,867 126,963 136,315 41,659 15,108 348,912 61%
Nassau 1,329 10,195 14,426 4,515 1,768 32,233 6%
Putnam 1,627 11,994 12,767 3,750 1,510 31,648 6%
St. Johns 3,795 25,835 35,721 11,105 3,774 80,230 14%
Total 38,442 197,713 234,869 73,412 26,665 571,101 100%

Table: Estimated Households by Number of Vehicles and County (Microzone + N2N Distances + PopSim 2015)

County Number of Vehicles
0 1 2 3 4+ Total  % Total
Baker 403 3,021 3,704 1,015 672 8,815 2%
Clay 2,742 21,083 31,758 11,032 3,908 70,523 12%
Duval 29,793 131,763 131,610 44,856 16,038 354,060 61%
Nassau 1,471 12,051 13,617 3,469 2,375 32,983 6%
Putnam 2,158 13,690 10,852 3,059 1,519 31,278 5%
St. Johns 3,652 28,418 37,278 11,588 3,604 84,540 15%
Total 40,219 210,026 228,819 75,019 28,116 582,199 100%

Work Location Choice: HOME-WORK DISTANCES

WLCHWD.JPG

School Location Choice: HOME-SCHOOL DISTANCES

SLCHSD.JPG

Development of External Model Inputs

Data Sources

The source data for the X-X trip table has been obtained from Bluetooth detectors that were installed at 17 locations adjacent to highways at external model stations. This work was conducted under a separate contract with Florida DOT. The raw data from the Bluetooth deployment were obtained by HNTB and processed for further analysis by RSG.

  • 2010 North Florida TPO model X-X trip table (EETRIPS.dbf): (29 nodes)

The total trips originating for each external node and destined for other external nodes are calculated by assigning a proportion of the total incoming traffic (e.g. 16%). Incoming traffic is distributed from each origin external node to each other external node in proportion to the destination node’s AADT.

  • EE_O-D_Study spreadsheet provided by HNTB: (17 nodes)

This spreadsheet was provided by HNTB and contains the raw matched BT X-X data, total traffic counts, total truck counts, matched BT X-X/X-I data (17 external and 150 internal nodes), and related pivot tables.

Estimating the BT Expansion Factor

The BT expansion factor (or penetration rate) is the percentage of total traffic recorded with having a discoverable Bluetooth device on or within the vehicle. The expansion factors imputed from the HNTB data were abnormally high given RSG’s prior experience in working with data of this type. RSG requested, but never received from HNTB, the raw Bluetooth data. For this reason, RSG developed a method to estimate an expansion factor for each station. The details of the method can be found in the model documentation.

Estimating External-External Trips

The raw matched X-X BT data alongside with expansion factors are used to estimate the X-X trips. The data is cleaned based on methodology described in the model documentation.

Network Updates

Network Link Updates

The previous Existing + Committed (E+C) network, known as 2040A in the 2010 model setup, was used as the starting point for the 2015 network. Table below lists the previous E+C network links that were modified to be consistent with 2015 base year conditions. Modifications included revisions to the number of lanes, facility type, and turn restrictions.

UPDATE (01/30/2020): BUSTFAC_45C was set to 0 in the 2045 network fields. This was causing problems with transit assignment resulting in very low transit ridership. RSG set this to 1 for all links since BUSTFAC_15A has it set to 1 for all links. This resolved the low transit ridership issue in the scenario year 2045.

Before setting up a model run, please make sure that in the transit route input file (or any subsequent transit route input files), the skyway modes are coded as MODE equal 24 instead of 23 and commuter rail “CR_SE-Rail” is coded as MODE equal 25 instead of 27 to be consistent with the new in-vehicle time skims.

E+C Network (2040A) Links to Change for 2015 Network

County Route From To
Nassau Chester Rd. SR A1A Green Pine Rd.
Duval First Coast Expwy. (SR 23) Clay CL Argyle Forest Blvd.
Duval First Coast Expwy. (SR 23) Argyle Forest Blvd I-10
Clay First Coast Expwy. (SR 23) Blanding Blvd (SR 21) Duval CL
Duval I-10 @ I-95 Roosevelt Ave. (US 17) San Marco Ave.
Duval I-295 SR 9B J.T. Butler Blvd. (SR 202)
Duval I-295 I-10 Commonwealth Ave.
Duval I-295 Buckman Bridge I-95
Duval I-295 I-95 (South) SR 9B
Duval Martin Luther King Jr. Pkwy at 21st St./Talleyrand Ave.
Duval SR 9B Philips Hwy. (US1) I-295
Duval SR 9B I-95 Philips Hwy. (US1)
Duval US 301 (SR 200) South of Baldwin North of Baldwin
Duval Blanding Blvd/SR 21 South of Old Jennings North of CR 218
Duval I-10 @ Beaver Street Remove access to Beaver Street
Nassau US 301 (SR 200) Duval CL Callahan

Volume Count Updates

The North Florida TPO provided AADT counts from 2015 FDOT portable traffic monitoring sites at point locations throughout the network. Each count was for total vehicles and did not include directionality or time of day factors. It was assumed that counts on bidirectional roads were equally split between both directions.

These points were spatially joined to the network links and then spot checked to ensure the join was accurate. Particular attention was paid to on and off ramps as they tended to have the least accuracy.

The NERPM-AB has four time periods: AM, midday (MD), PM, and night (NT). The 2010 network contains count data for each of these periods on some links. To create time of day count data for the 2015 counts, the 2015 count was distributed between the four time periods using the same ratio as the 2010 counts. Links with a 2015 count but no 2010 time of day counts used nearby 2010 time of day counts. If no 2010 count was nearby, that 2015 count was not used.

CUBE Model Update

Several updates were made to the NERPM-AB Cube model during this project. The previous version of the model had model steps and scripting logic that was left over from the previous four-step model. Therefore, enhancements were made wherever necessary to make sure that the model system and results appear reasonable.

External-Internal Trips Calibration

While looking at auxiliary model demand it was found that IE trips are very long – average VMT per trip is approximately 32 miles, compared to 8 miles for internal trips. The VMT needed to be reduced by factoring either or both total IE or truck trips, or by factoring the length of IE trips for which the gravity model used to distribute them needed adjustment. To help inform this decision, the relationship between the observed counts and the estimated link volumes at external stations was investigated. It was found that both ends of I-95 and on I-10 were low, IE trips needed to be increased. It was also possible that the IE trips were traveling too far, which could be adjusted by making the friction factor curve used in trip distribution for IE trips steeper. A series of steps were taken to resolve this issue as discussed in the model documentation.

Transit Skimming Updates

From the initial transit assignment results, it was found that the skyway/monorail boardings were significantly lower than observed boardings. Therefore, the next model enhancement made was to add alternative-specific constants (ASC) to DaySim for transit modes based on an in-vehicle time skim. For the transit alternatives that need to be modeled in the scenarios, the in-vehicle time (IVT) needs to be skimmed in a separate skim matrix, and any tour or trip that has the transit mode in the OD Pair should get the constant. The updates are discussed in detail in the model documentation.

Highway Skimming for Tolls

In the E+C 2045 networks, express lanes or managed lanes were introduced in the highway network. Initially the toll variable, CARTOLL, was set at zero for all links. This was changed to 20 cents per mile (0.20). This value (CARTOLL) was then multiplied with the link length throughout the model setup to calculate the cost. Moreover, the occupancy for HOV2 and HOV3+ were also changed to 1.3 and 1.5, respectively.

DaySim Model Calibration and Validation

The tour destination and other sub models were calibrated using the North Florida Household Travel Survey (2017), the transit tours and trips were calibrated using the Transit On-Board Survey (2016) obtained from Transit On-Board Survey Program, and the worker flow were calibrated using CTPP (2010) obtained from Census.

The following set of tables and figures show calibration summaries:

Table: Population by Person Type

Person type Survey PopSim
Full Time Worker 540,570 566,852
Part Time Worker 96,726 59,179
Retired 172,447 142,992
Non-Worker 203,794 208,490
University Student 43,943 55,998
Student Age 16+ 37,901 48,543
Student Age 5-15 185,288 197,734
Kid under 5 83,362 102,243
Total 1,326,484 1,419,578

Table: Average Home to Work Distance

Worker Type Survey DaySim
Full Time 13.7 13.3
Part Time 9.1 6.8
Other 9.9 14.5
Total 13.2 12.4

Table: Workers by County

COUNTY CTPP HTS DaySim
1 7,283 5,383 9,681
2 59,391 80,418 84,565
3 286,647 400,012 420,057
4 18,556 17,424 32,801
5 13,779 10,901 20,362
6 64,325 79,338 97,402
TOTAL 449,980 593,476 664,868


Model Calibration and Validation

The 2017 north florida travel survey and the 2016 onboard rider demographic survey were used to calibrate the model. Traffic counts and transit boarding counts were used to validate the model outputs. The following tables and figures show the results of the calibrated model. These include trip length frequency distributions, tour and trip mode choice model results, highway and transit validation etc.

Table: Population and Employment

County 2015 Population 2015 Employment BEA 2015 2030 Population 2030 Employment 2045 Population 2045 Employment
Baker 23,138 9,649 9,695 32,340 15,876 37,723 20,123
Clay 189,600 68,871 69,317 263,882 120,166 321,984 156,073
Duval 854,757 624,952 623,596 1,078,136 786,052 1,231,564 888,333
Nassau 76,672 30,948 31,086 97,500 49,367 116,024 60,801
Putnam 71,687 22,605 22,780 78,328 34,695 84,790 38,102
St Johns 202,375 105,077 104,983 318,041 197,421 412,811 287,415
Grand Total 1,418,229 862,102 861,457 1,868,227 1,203,577 2,204,896 1,450,847

Trip Length Frequency Distribution

Wsloc.JPG

Tour Mode Choice

Tourmode.JPG

Trip Mode Choice

Tripmode.JPG

Highway Validation

Hwyvalidation.JPG

Transit Validation

Trnvalidation.JPG

Software Requirements

PopulationSim requires the following software, already included in the model setup, and can be found in the following location w.r.t the project folder:

  • Anaconda2 with Python 2.7 – “.\User.prg\Population_Synthesis\Anaconda2”

Setup and Run PopulationSim

Setup Directory

Figure below presents the directory structure for the PopulationSim setup. To set up a PopulationSim run, the user must create the directory structure as shown in below.

PopulationSim Directory Structure

PopSimDir.JPG

The folders and files in the directory are explained as follows:

  • The data directory holds all the input data like seeds data, control data and crosswalks.
    • SCOUNTY Control totals
    • TAZ Control totals
    • MAZ Control totals
    • Geographic Crosswalk
    • Household Seed table
    • Person Seed table
  • The Anaconda2 directory houses the core PopulationSim software files and associated libraries and packages.
  • The configs folder contains the settings.yaml file and controls.csv file
    • PopulationSim is configured using the settings.yaml file. For this project, it is configured to run in base mode which means it is run from beginning to end and produces a new synthetic population
    • controls.csv file specifies all the targets, geography, seed table, control field and their expression to the seed table required for the PopulationSim run.
  • The output folder will have the final synthetic household and person file and summary attributes after a successful run.
  • This batch file activates the PopulationSim environment and then calls the run_populationsim.py Python script to launch a PopulationSim run.
  • PopulationSim is run using the RunPopulationSim.bat batch file in Command Prompt Window. Before starting the run, the path to the Anaconda install must be updated within this file.

The PopulationSim procedure is automated and once you have all the data in place, the user just needs to run the batch file from the command prompt window. To run the PopulationSim for 2030 or 2045 the user need to update the ‘data_dir’ field in the settings.yaml file. The ‘data_dir’ field for different scenario years are:

  • 2015: The ‘data_dir’ in settings.yaml file should be set to ‘data’
  • 2030: The ‘data_dir’ in settings.yaml file should be set to ‘data_2030’
  • 2045: The ‘data_dir’ in settings.yaml file should be set to ‘data_2045’

Preparing DaySim Inputs

Transit Files

The transit stops file is created using the input transit network from Jacksonville Transit Authority: TROUTE_{Year}{Alt}.LIN Follow the sequential step below:

  • Create a geodatabase (gdb) in Cube
  • Import the input transit network file and the highway network file
  • Export the nodes (PTNetwork_PTNode) to a shapefile
  • Open the shapefile in ArcMap and select the nodes that have STOPNODE=1. These are the transit stops
  • Export the selected nodes (stops) to a new stops shapefile. Also Export the transit line file to a shapefile.
  • Open the attribute table of the new stops file and add four fields: xcoord_p (double), ycoord_p (double), mode (int) and id (long).
  • Calculate xcoord_p and ycoord_p using calculate geometry for the two fields.
  • Join transit line by object id and calculate a new field “mode” equal to the MODE field in the line file (1-localbus, 2-skyway). Jacksonville mode codes and daysim mode codes are different, convert these to daysim mode codes before running buffer tools.
2015 2030 2045 DaySim
21 = LB 21 = LB 21 = LB 1 = LB
24 = Skyway (coded as LB) 23 = Skyway (coded as LB) 23 = Skyway (coded as LB) 2 = EB
27 = CR 27 = CR 3 = CR
  • Calculate stopid as “FID+1”.
  • Keep only four fields in the attribute table: id, mode, x_coord, y_coord.
  • Export all records in the attribute table to a csv file: nftpo_transitstops.csv

DaySim Data Editing

With the base year moving from 2010 to 2015, microzones replacing parcels and new population data, the inputs for DaySim needed to be updated. The following steps describe the DaySim input data preparation and update for the NERPM-AB model including the tool and input data used and output formed.

Network Data Preparation

This step calculates “nearby” node pairs of microzones for shortest distance path calculations to be used in DaySim.

Tool: Network_DataPrepv2.exe

Directory: \User.prg\DaySim_Data_Tools

Inputs:

  • input_node.csv (Node x,ys from an all-streets network)
  • jax_MAZs_2015.dat (The coordinates of the newly developed microzones)
  • jax_netprep.ctl (Network prep control file)

Output:

  • input_od_pairs.csv (for input to shortest path update tool)

Shortest Path Update

This process is required to generate more accurate short distances based on an all streets network. DTALite, a dynamic traffic assignment software, is used to generate node-to-node shortest path distances using the all streets network.

Tool: DTALite64.exe

Directory: \User.prg\DaySim_Data_Tools

Inputs:

  • input_od_pairs.csv (from the Network Data Preparation tool)
  • input_node.csv (from all-street network)
  • input_link_type.csv (from all-street network)
  • input_link.csv (from all-street network)
  • DTASettings.ini (settings file)

Output:

  • output_shortest_path.txt (for input to Buffering microzones)

Buffering micro-zones

The Daysim buffering tool is run to prepare MAZ input file for DaySim. This step calculates the new Microzone buffer measures to be used in DaySim.

Tool: DSBuffTool.exe

Directory: \User.prg\DaySim_Data_Tools

Inputs:

  • Jax_microzones_2015.csv (Base Microzone file)
  • Jacksonville_Intersections.csv (Street intersections file)
  • Jacksonville_transitstops.csv (Transit stops file)
  • Jacksonville_openspaces.csv (Open spaces/parks file)
  • input_node.csv (All-street Network nodes file)
  • output_shortest_path.txt (Node-to-node shortest path distance file)

Output:

  • buffered_microzone_2015.dat (to be used in DaySim)
  • microzonenode.dat (to be used in DaySim)
  • output_shortest_path.txt.bin (Change extension using batch file)
  • output_shortest_path.txt.index (Change extension using batch file)

The file extension of the last two outputs above need to be changed for reading into DaySim. The last three output files are used in DaySim to estimate short-distances for car, walk and bike trips.

All three DaySim Data tools can be run using RunAll.bat from the command prompt window.

Running DSBuffTool.exe

Double-clicking the executable will bring up a GUI as shown in the following figure. The use of this tool is straightforward. The user just needs to specify all the inputs and click on the “Run” button at the bottom of the GUI.

DaySim Buffering Tool GUI

DBTG.JPG

In the “INPUT” section of the GUI, distance calculation and buffer type are set to “Euclidean” and “Logistic decay” respectively. These are the recommended settings for running this tool. If node-to-node distances obtained from an all streets network are available, distance calculation may be set to “Node-to-Node”. The default recommended parameters for logistic decay weights (described in the model design chapter) such as buffer decay slope, offset etc., are also automatically populated in the appropriate fields in the GUI.

All other inputs are to specify file paths that can be done by clicking on the “Browse” button. This pops a file dialog as show in the figure below. The user may also enter full file paths manually using keyboard.

Buffer Tool File Selection Dialog

BTFSD.JPG

All file specification fields for the tool are described below. Details about formats for the input files can be found in the directory and data structures chapter.

  • MAZ Data File: This is the base MAZ file. It is obtained by running the disaggregation tool.
  • Intersection Data File: This file has the coordinates of intersections and the number of links intersecting at each one of them.
  • Transit Stops File: This file has the transit stop location coordinates by transit sub-mode.
  • Open Spaces File: This file has the locations and area of parks/open spaces in the model region.
  • Circuity Data File: This is only required for “Circuity” distance calculation that is now an obsolete method.

When “Node-to-Node” distance calculation is selected, the user need to select a format of the input node-node distance file: output of DTALite or input file used in DaySim. The following files are only needed for “Node-to-Node” distance calculation method.

  • Node Data File: This file contains the coordinates of node from an all streets network.
  • Node to Node Distance File: This file contains the network shortest path distances between a list of node pairs that are within 3 miles of each other. It is either an output from DTALite or a distance file input to DaySim.
  • MAZ-Node Correspondence File: This is an intermediate file created during the buffering process and contains the correspondence between MAZs and nodes.
  • Open spaces-Node Correspondence File: This is an intermediate file created during the buffering process and contains the correspondence between open spaces and nodes.

Specification of the following XML files is optional. However, they store the input configuration of a buffering tool run and make it convenient to use the tool.

  • Output XML File: If a file is specified in this field, an XML file containing all the input information specified by the user is stored upon clicking on “Run” button that initiated the buffer process.
  • XML Input File: Once an XML file has been stored as described above, it can be selected to automatically populate all the input fields required for a buffer run. This can be used to re-run a buffer process with the same inputs or modify a few inputs to generate a different buffered MAZ file.

Finally, Buffered Output File field is used to specify the location and name of the buffered microzone output file that needs to go into DaySim inputs folder.

DaySim Files Update

The following files were updated in the latest 2015 DaySim run:

  • New Microzone file containing aggregated household and employment inputs and buffered measures instead of parcels
  • Household file containing all household information with respect to the microzones
  • DaySim Configuration file containing the DaySim execution settings
  • A set of updated DaySim input files
  • A set of new Data files for short distance calculation

To accurately calculate short car, walk and bike trips, short distance node-to-node measure is introduced in DaySim. This includes the following changes:

  • Change in DaySim Configuration file
  • Utilization of three additional files in DaySim:
    • Microzone node file (microzonenode.dat)
    • Node Index file (output_shortest_path_txt_index.dat)
    • Node distance file (output_shortest_path_txt_bin.dat)

Activating TAZ

The model contains a list of TAZs that are dummy TAZs that act as a placeholder to be later used when building new TAZs. The steps to utilize or activate these dummy zones is as follow:

  • Identify the dummy TAZ that needs to be activated.
  • Update the input network MicroCodedHnet42.net within Cube.
    • Relocate the dummy TAZ to the centroid of new TAZ.
    • Update the attributes of the dummy TAZ.
    • Build network links that would connect the dummy TAZ to appropriate nodes on the network.
    • Update the attributes of these network links.
  • Identify the overlap/association between existing MAZs and the new TAZ.
  • Update the land-use file nftpo_microzones_year.csv.
    • Update the “taz_p” field for MAZs that are now identified as associated with new TAZ for all scenario years.
  • Update the PopulationSim Inputs.
    • Update the fields associated with MAZs identified in the earlier step with updated TAZ in geo_cross_walk.csv.
    • Update the TAZ field for identified MAZs in control_totals_maz.csv file.
    • Update the control_totals_taz.csv file by adding a row for dummy TAZ and recording appropriate values in rest of the fields. It should be ensured that the values entered are reasonable for e.g. household size values should not all be 0 and should match up to total households.
    • Go through the steps described in Updating Land-use Manually later in this document.
  • Update scenario input files in “scenario/Input/” folder.
    • Add/Update the “Zone_id” and “Zone_ordinal” field in the _jax_taz_indexes.dat file located in “scenario/Input/DaySimInput/01_TAZ_Index/” folder to the dummy TAZ. Set the “Dest_eligible” field for this TAZ to a value of 1.
    • Add/Update the TAZ field in the emp_year.dbf file located in “scenario/Input/DaySimInput/02_Parcel/” folder.
    • Add/Update the TAZ field in the _jax_worker_ixxifractions.dat file located in “scenario/Input/DaySimInput/05_ixxi/” folder.
    • Add/Update the TAZ field in the county_districts.csv file located in the “scenario/Input/DaySimInput/08_Summaries/” folder.
    • Add/Update the TAZ field in the RIVERCROSS.csv file located in the “scenario/Input/” folder.

This concludes the steps needed to activate a dummy TAZ, and the use can now run the regular model.

Updating Land-use Manually

When updating land-use data, like household or population attributes, for the base or future year, the steps below should be followed to ensure proper propagation of changes throughout the model:

  • The starting point for such changes is the buffering micro-zones step. One of the inputs to the buffering tool is the MAZ file, for example, nftpo_microzones_2015.csv for the 2015 scenario. The user should manually update the land-use file for changes required in specific zones because of new development, changed land-use, etc. The user should then run the buffer tool and copy the output file (buffered_maz_2015.dat) to the scenario input directory.
  • The next step is to update the PopulationSim controls by following the guidelines in Section 3.1 for the base year or in Appendix A (Updating Control Data). The user should then run PopulationSim.
  • The user should then run the “popsim_to_daysim.bat” file by double clicking it in Windows or running it from a DOS command promt. The batch file runs the “convert.py” script that converts PopulationSim output to DaySim inputs. The DaySim inputs are output in the “./User.prg/PopulationSim/popsim_to_daysim/output/” folder. The output should be renamed as shown in Table 78. These outputs should be copied to the model scenario input directory.

Table: Rename popsim_to_daysim.bat output

Output File Rename File
Base2015 INT2030 CF2045
household_2015.dat household_2015.dat household_2030.dat household_2045.dat
person_2015.dat person_2015.dat person_2030.dat person_2045.dat

This concludes the land-use updates step, and the user can now run the regular model.