-
Notifications
You must be signed in to change notification settings - Fork 118
Potential input checking and error handling improvements
Ben Stabler edited this page Mar 23, 2021
·
22 revisions
Work-in-progress
The purpose of the following potential improvements is to make it easier to stand up and use an ActivitySim model. This list of improvements is in response to phase 6a task 7.
| Idea | Level-of-effort | Notes | Priority |
|---|---|---|---|
| Check input data consistency. | Days | Plan to check all the key relationships. Check primary key table joins across input tables - HH home zone vs. TAZ/MAZ land use file, MAZtoTAP file TAPs vs. TAP skims, TAZs in the land use file vs. TAZ skims, etc. | High |
| Check for well formed config files. | Days | Check settings files, expression files, and config files | Low |
| Better describe silly errors. | Days depending on LOE | For example, when a submodel yaml files cannot be found | Low |
| Print info about no alternative found. | Hours | When no alternative is found in a choice model, log which terms in the utility turn off all alternatives since this is really helpful info | High |
| Reduce pipeline file size | Weeks | Instead of checkpointing tables in the pipeline after each submodel, only add the additional fields and/or rows. Requires significant design work as well. | Low |
| Strings to Categorical Data | Days | Switch string type data to categorical type data to improve runtime and reduce pipeline file size | Low |
| Improve RAM/chunking | Days depending on LOE | Make it easier for new users to set a reasonable chunking/processors settings. | High |
| Eliminate distance==0 problems | Hours | Identify distance skims and ensure > 0 where appropriate to avoid funny simulation situations | Medium |
| Clean up command prompt logging | Hours depending on LOE | Be more intentional about what is logged to the console vs. log file | Medium |
| Avoid long trace file names | Hours | Reduce filenames (especially in estimation mode) for Windows limits | Low |