RSGInc / SOABM

ODOT Southern Oregon ABM
https://github.com/RSGInc/SOABM/wiki
6 stars 5 forks source link

Allow model to move forward with empty TAP lines #37

Closed bettinardi closed 5 years ago

bettinardi commented 7 years ago

The model recently crashed when the file outputs\skims\tapLines.csv was created with blank records in the "LINES" column, meaning that those TAPs (with empty records) did not have a single accessible bus line. CT-RAMP crashes when that LINES field is empty.

The code needs to be updated so that the python code removes those empty TAPs as viable TAPs, and then writes those deleted TAPs to a file that it draws the users attention to, so that the user can go back later and investigate why the TAPs are not getting served and if they should be removed.

jfdman commented 7 years ago

I am not sure that I agree with the proposed solution. Having the model crash (with a clear error message) ensures that the analyst will actually look at, and fix, the problem TAPs. Writing the TAPs to a file doesn’t guarantee that a user will pay attention to those TAPs, potentially causing erroneous modeling results to be delivered\presented\published.

bettinardi commented 7 years ago

I like having the option to keep running. If the user saw that the file was created they could always kill the run. I envision setting up a lot of these runs overnight. So it would be better to have an "almost there" run complete than nothing but a fail warning.

I'm fine with making the warning file as easy to see as possible. I could be in the base directory called "YOU_NEED_TO_REVIEW_ME.txt", or something similar to ensure that the user was aware that something went wrong, but I don't want the run to simply die, when it could be perfectly fine to complete (as could very well be the case).

jfdman commented 7 years ago

The model wants a file of transit routes served by each TAP. Having a TAP that is walk or drive accessible from an MAZ but not served by any transit route could cause problems for the transit path-building part of the model software. Every commercial transport modeling software platform requires that zones must be connected to the network. It is not a harmless error and needs to throw an error. We can discuss further on our next call.

bettinardi commented 6 years ago

Looking back over all remaining issues, I think what we need here is built in transit coding consistency checks. If we know there are certain elements that need to exist or need to be relate to other aspects of the transit system in a certain way - we need to code in a verification step to make sure that those known fundamental network relationships are coded correctly - see #40.