Oboe.jl is growing too large, it ought to be carved up.
Can be done one step at a time, e.g. first isolate the loading, collating and censoring of airport data (BTS and Openflights).
I am not sure about the “proper” way; I have seen “submodules” added via simple include("sub-air.jl") in the main module.
I see the following meaningful submodules and substructures:
- loading and processing airport data
- nodes and airports: assigning designated APs, passenger shares, air travel matrix
- commute matrix and aggregation;
Also, I prefer to separate input and output from the overall logic.
This is a rather vague assignment, we will see what can be worked out here.