In my current position, I work a lot with TERM Lite. I recently submitted a paper based on some of the work I have been doing and the enhancements that I have made to TERM Lite, but even more recently I have addressed another major need when working with TERM Lite. The way that the software package is design is meant to be very straight forward: You enter your inventory, feed a scenario into it in the form of a variety of model parameters, and it crunches the data. When everything aligns correctly, it does a lot of work very quickly. In total one scenario is defined by between 13 and 43 points of data, which represents everything from the year the budget over the next 30 years to how many years the model should run. This is a lot of data, but when you are running two or three scenarios it is manageable.
However, what if you are running 30 different scenarios? Presuming you get the model run right each and every time and only have to run each scenario once, that’s 390 to 1290 points of data that usually has to be manually entered across five different screens. The risk is high that something is going to go wrong and accuracy is important.
TERM Lite doesn’t have a particularly efficient method for entering scenarios. The new version 2.3 has introduced a very nice set of tools for entering financial constraints (which was more time consuming than it needed to be for things like setting up an unconstrained scenario), but it still is very much built around the idea that one copy of TERM Lite is for one scenario as part of the workflow. While creating copies is a good way to retain the exact scenario you need to run, it also ends up causing problems in another way: If you have to make any edits to the Asset Type Table or the Asset Inventory table, your work is multiplied by the number of scenarios you are trying to model. This isn’t the best situation to be in, since a slip up here is going to mean that you aren’t modeling the same data in each scenario.
Facing this issue, I decided that the best course of action was to built a light application using Microsoft Access to push and pull data from TERM Lite. Specially, this application would allow me to create a spreadsheet where each row is a different scenario, import that information into the TERM Lite Scenario Manager, and then push those model parameters into TERM Lite when needed. I additionally created a process to read and save the results of the TERM Lite run after the scenario is complete (but with a time stamp and scenario number associated with it). This is useful because normally TERM Lite overwrites the model output during each run.
I decided to use Microsoft Access for two reasons: Speed (I built the application in a day and a half) and compatibility. By using this approach, anyone who can run TERM Lite can also use this enhancement. No special permissions or installation is required. I also suspect that this may be a tool that is made available to other TERM Lite using agencies in the United States, but that is ultimately a decision for MTC to make. At the very least, it will likely be available via the Bay Area TERM Lite Users’ Group.