RunModel - Bi-County-AlaCC-Activity-Based-Model/client_actc_ccta_model_doc GitHub Wiki
Run the Model
This page provides instructions for executing the travel model. For a description of the underlying computing environment, see the ComputingEnvironment page; for a general description of the underlying system design, see the SystemDesign page; for a description of the scenario creation script, see the SetupConfiguration page.
Step 1: Execute the RunModelBatch file
AlaCC model runs by calling a series of commands stored in an MS-DOS batch file named RunModel.bat. An overview of the steps performed by this batch file are noted below. The current implementation runs three full iterations of the models (i.e. speeds are fed back through the entire model stream, meaning steps 2 through 5 on the ModelSchematic); the RunModel.bat file can be easily configured to run any number of iterations.
- Sets the necessary path variables as described on the SetupConfiguration page;
- Starts up the Cube Voyager nodes
- Builds a set of distance-based non-motorized skims that are not modified across feedback iterations;
- Iteration 0:
- Assigns a set of "warm start" trip tables to the highway network and creates skims
- Iterations 1-3:
- Sets the parameters for the iteration 1 and call the RunIteration.bat file, which performs the following steps:
- Builds highway and transit skims;
- Executes the CT-RAMP choice models;
- Executes the freight models;
- Performs highway assignment;
- Performs transit assignment
- Notifies our slack channel that the iteration is complete
- Create destination choice logsums
- Summarization steps
- Shuts down the Cube Voyager nodes as and the java processes
- Notifies our slack channel that the model run is complete
Modeling Process
Preprocessing
-
preprocess\preprocess_input_net.job
- Summary: preprocesses input network to fix some existing attributes and add a new one.
- Input:
hwy\complete_network_with_externals.net
- the roadway network
- Output:
hwy\complete_network_base.net
, the updated roadway network with fixed CNTYPE and FT attributes.
-
preprocess\writeZoneSystems.job
- Summary: Counts tazs and external zones based on node number conventions
- Input:
hwy\complete_network_base.net
, the roadway network - Output:
zoneSystem.bat
, a local batch file that definesTAZ_COUNT
,TAZ_EXTS_COUNT
environment variables
-
preprocess\zone_seq_net_builder.job
- Summary: Builds a sequential zone numbering system for TAZs, and Externals given the node number conventions.
- Input:
hwy\complete_network_base.net
, the roadway network - Output:
hwy\complete_network_zone_seq.net
with additional nodeattributes, TAZSEQ, and EXTSEQhwy\complete_network_zone_seq.csv
, the mapping of CUBE roadway nodes to renumbered TAZs. Columns are N, _TAZSEQ_and EXTSEQ
-
preprocess\zone_seq_disseminator.py
- Summary: Builds other files with zone numbers
- Input:
hwy\complete_network_zone_seq.csv
, the mapping of CUBE roadway nodes to renumbered TAZslanduse\taz_data.csv
- Zonal Datapopsyn\hhfile.csv
- PopSynHousehold
- Output:
landuse\taz_data.csv
- Adds (or rewrites) column TAZ (renumbered version of TAZ_ORIGINAL)
-
preprocessing\taz_densities.job
- Summary: Creates intermediate files for calculating maz densities: maz centroid location file and intersection location file.
- Input:
hwy\complete_network_zone_seq.net
, the roadway network - Output:
hwy\taz_nodes.csv
, the taz centroids and their coordinateshwy\intersection_nodes.csv
, intersection nodes and their coordinates, where intersections are defined by having 5 non-freeway, non-connector links attached
-
preprocessing\createTazDensityFile.py
- Summary: Calculates density-related columns to add to Zonal Data
- Input:
hwy\taz_nodes.csv
, the taz centroids and their coordinateshwy\intersection_nodes.csv
, intersection nodes and their coordinateslanduse\taz_data.csv
- Zonal Datalanduse\taz_density.csv
- Density measures for TAZs (TotInt, EmpDen, RetDen, DUDen, PopDen, intDenBin, empDenBin, duDenBin)landuse\taz_data_withDensity.csv
- Zonal Data
-
- Summary: Reads the
hwy\tolls.csv
file and adds the tolls values to the network - Input:
hwy\tolls.csv
, later converted to tolls.dbfhwy\complete_network_zone_seq.net
, highway network
- Output:
hwy\complete_network_tolls.net
, highway network with tolls added.
- Summary: Reads the
-
preprocessing\SetHovXferPenalties.job
- Summary: Adds HovXPen attribute to roadway network for HOV to non-HOV in theory, but actually does nothing. TODO Deprecate script or make it do something.
- Input:
hwy\complete_network_tolls.net
, the roadway network - Output: same with HovXPen attribute added if this ever comes back. Travel Model One sets it to 0.5.
-
- Summary: Adds area type and capcity class to the roadway network based on the weighted population and employment density of the nearby TAZs for the link (via
preprocess\codeLinkAreaType.py
) - Input:
hwy\complete_network_with_tolls_with_xferpenalties.net
, the roadway network - Output:
hwy\complete_network_tolls_at_capclass.net
same with AT attribute added to those links with CNTYPE one of ("TANA","USE","TAZ","EXT"), set to -1 otherwise. CAPCLASS = 10x AT + FT. Area types are as follows:- 0: regional core
- 1: central business district
- 2: urban business
- 3: urban
- 4: suburban
- 5: rural
- Summary: Adds area type and capcity class to the roadway network based on the weighted population and employment density of the nearby TAZs for the link (via
-
preprocess\CreateNonMotorizedNetwork.job
- Summary: Create pedestrian, bicycle and pedestrian TAP (Transit Access Point) to TAP networks. The procedure to create the non-motorized networks (walk and bike) extracts the links from the network which have CNTYPE equal to TANA, PED/BIKE, MAZ, TAZ, or TAP and which are not freeways, or which have the BIKEPEDOK flag set to true (1). For the pedestrian network, any link that is one-way has an opposite direction link generated.
- Input:
CTRAMP\scripts\block\maxCosts.block
- sets maximum pedestrian distance, maximum bike distances, maximum driving generalized cost, maximum tap-tap pedestrian distancehwy\mtc_final_network.net
, the roadway network
- Output:
hwy\mtc_ped_network.net
, the pedestrian network. Link attributes are the same as the roadway network, plus SP_DISTANCE, or Shortest Path Distance. This is set to:@max_ped_distance@
for CNTYPE=MAZ links and CNTYPE=TAP links with a TAZ/MAZ/TAP origin or destination,@nomax_bike_distance@
for TAZ links- FEET otherwise
hwy\mtc_tap_ped_network.net
, the tap-tap pedestrian network. This is the same as the pedestrian network but with SP_DISTANCE for TAP links modified to @max_tap_ped_distance@. This is because the tap-to-tap ped distances are shorter (1/2 mile versus 3 miles).hwy\mtc_bike_network.net
, the bike network. This is extracted in a similar fashion as the pedestrian network, but CNTYPE = 'BIKE' links are included instead of CNTYPE = 'PED'.
-
preprocess\CreateFiveHighwayNetworks.job
- Summary: Creates per-timeperiod roadway networks for assignment and skimming
- Deletes links with ASSIGNABLE = 0
- Deletes links with CNTYPE = 'TANA' and NUMLANES = 0
- Deletes links with CNTYPE not one of ("TANA","MAZ","TAZ","TAP","EXT")
- Sets freeflow time (in minutes) FFT based on FEET and FFS, freeflow speed.
- Variously deletes/changes USECLASS, NUMLANES, FFT or new field CTIM (congested time, which is set to be equal to FFT here) for special (mostly bridge) links.
- TODO: CTIM == FFT so not sure why this is added here? Also, the reversible lanes links and the shared road bypass links with their nodes are all hard-coded into the script... why not configure this?
- Input:
hwy\mtc_final_network_with_tolls.net
, the roadway network - Output:
hwy\avgload[EA,AM,MD,PM,EV].net
, the per-timeperiod roadway networks
- Summary: Creates per-timeperiod roadway networks for assignment and skimming
-
preprocess\BuildTazNetworks.job
- Summary: Create TAZ-based roadway networks for skimming and assignments by renumbering the nodes so TAZs (and externals TAZs) are sequential and start at 1 and the rest of the nodes are sequential and start at 1,000,001.
- Input:
hwy\avgload[EA,AM,MD,PM,EV].net
, the per-timeperiod roadway networks - Output:
hwy\avgload[EA,AM,MD,PM,EV]_taz.net
, the per-timeperiod roadway networks with renumbered nodes. New node attribute OLD_NODE preserves mapping to original node number, as does new link attribues OLD_A and OLD_B.hwy\avgload[EA,AM,MD,PM,EV]_taz_to_node.txt
, text version (TODO: for what?)hwy\msaload[EA,AM,MD,PM,EV]_taz.net
is the same ashwy\avgload[EA,AM,MD,PM,EV]_taz.net
but with new link variables vol, vc, vol_[da,s2,s3,sm,hv][T?], and volT initialized to zero.