Today I received confirmation that I have been invited to speak at the 11th Transportation Asset Management Conference in relation to my work with TERM Lite at the Metropolitan Transportation Commission. I will have two sessions, one as part of the “How to Manage Your Transit Assets” session as a presenter and another will be a poster session on the Asset Type Variant framework that I developed as an enhancement to TERM Lite.
This is a great opportunity to highlight two key TERM Lite enhancements that I created to meet our modeling needs at MTC. The asset type variant framework is a way to preserve aggregation functions of like assets in TERM Lite while also allowing specific rehabilitation policies to be assigned at the asset record level. The utility of this is pretty immense and can be applied to a number of different use cases. At MTC, the biggest impact that it had was being able to assign different rehabilitation policies for buses to agencies of different sizes. Since we work with agencies ranging from the City of Dixon to the City and County of San Francisco, the operational environment and rehabilitation practices differed significantly. Rural operators tend to be able to get by without a major overhaul of the buses, while larger operators see more wear and tear and end up needing to make a mid-life reinvestment in the asset.
The standard procedure for this in TERM Lite would be to assign a new asset type code (for example if a standard articulated bus is 51901, you might assign 51999 to the asset record that contains the fleet you want treated differently). The problem with this is that you can’t aggregate assets easily when you do this. The query…
SELECT AssetType, SUM(Quantity) FROM AssetInventory GROUP BY AssetType
…will return multiple lines with the sum of the subfleets that you treat differently instead of a single sum for all of the articulated buses in the inventory. I resolved this by separating the asset type descriptive information from the rehabilitation policy information and then storing the information in the decimal portion of the code. That way, you can use the codes 51901 and 51901.1. While the query above will still return rows, a simple modification returns the desired result (a FLOOR function the asset type code to remove the decimal). In addition, the number of rehabilitation polices that can be assigned in this manner is effectively unlimited. At the conference, I will make public a white paper that describes how to implement this in any copy of TERM Lite.
The second session will discuss the use and development of the MTC TERM Lite Scenario Manager. For our recent modeling work, we have over 45 scenarios to run across 7 different databases. I identified data entry of the scenario parameters to be a likely point of failure early on the in the process and created a companion database with a light front end to manage it for me. Now, instead of entering dozens of parameters across a half dozen screens, loading scenarios is automated. Scenarios are defined ahead of time, imported into the scenario manager, and then loaded into TERM Lite with a single click. It ended up being a graceful solution for a major problem. I was even invited to present this tool to both the original developers of TERM Lite and the TERM Lite program manager at the FTA.
The current plan is to release the scenario manager to the public and allow practitioners across the country to use the tool, but part of that depends on MTC. If they decide that they do not want to pursue that, then I will likely rebuild it from scratch on my own time and incorporate some of the more advanced features that I have in mind for future versions.