The first question one should ask when troubleshooting a formerly working system is: "what did I change"? Errors in the input files can show up in various places during the model run, sometimes no obvious error is present and only a careful review of the results shows the issue. Good modeling practice is the following:
The Cube log files (*.PRN) are written to the {SCENARIO_DIR}\_logs folder. If the model unexpectedly crashes, the user may load the log file through Cube Voyager or by selecting the most-recent PRN file in this folder.
The ABM log files and trace files are written to the {SCENARIO_DIR}\_logs\abm folder. The visitor model log files are written to the {SCENARIO_DIR}\_logs\abm\vis folder.
Transit Network: during the initial network build, SERPM 8 tests loading the transit line file.
A common issue while running travel demand models is not having sufficient storage space. If archiving is disabled and all temporary files are removed, each scenario produces about 15GB of data. But, more storage than that is needed during the model run for temporary files. It is recommended to have at least 30GB of storage free at the beginning of the model run.
Insufficient space errors will often manifest themselves as a file not found error.
There are several locations in the SERPM8 catalog where the presence of a file is checked and, if not found, the model will abort. These cases will return an Error Code = 3. The missing file is shown in the overall log file (SERPM8_XXXX.PRN), which is located in the Programs\Cube folder. Note that all other log files are stored in the Scenario Dir\_logs folder. The overall log file can also be opened by selecting "Show Run Report File" in the error window.
There is an issue with this version of Cube. Citilabs has a DLL patch and the issue will be fixed in 6.4.5.
The ABM java program exhibits a random error that causes the process to crash with a java.lang.NullPointerException. Restarting the model is often sufficient to move past this point.
SERPM8 has a built-in auto restart of the ABM java program if it does not run successfully. When this occurs, the log files from the failed run are stored in the ScenarioDir\_logs\_abm_crashx. The default parameters will restart the ABM 1 time before reporting the error to Cube and stopping the model process. The number of restarts in configurable in the Scenario Manager on the System Configuration page with the following key:
Number of restart attempts for Java crashes
If the ABM java program continues to fail with multiple restarts, the user will need to inspect the ScenarioDir\_logs\_abm_crash0\abm.log file. Search on the term "FATAL" to identify the errors. There may be multiple sections with FATAL reports throughout the log file. Below are the observed issues and next steps:
If the expected reports are not written to the _reports folder, more information is available in the _logs\report.log file.
If this is a new SERPM8 setup, the most common problem is not having all the required libraries installed or not having the correct path set to the R executable in the scenario manager. The required libraries are the following: foreign, stringr, data.table, xlsx, reshape2, bindrcpp, dplyr, plyr, tidyr, ggplot2, zoo, openxlsx
R is called by Cube and the R program status is written to the Programs\Reports\SERPM8_RSummary_Control.Rout file. It may be easiest to troubleshoot issues with the R setup by running the call that Cube makes within RStudio and get more information on the problem:
The console print out should give more information on the issue.