The plan is to handle the (numerous) F-layer cases via a single function in the flayer module and a module that wrapps this and does many cases in parallel. The single case code is basically written (but that whole flayer module needs a cleanup, with the option to give less verbose output and with useful summary data returned). Still need a case handler module. The idea will be to bundle a csv (or pandas) file for the cases and show graphs and a table) from this in a final notebook with an easy way to rerun the whole lot (if we change the model) or add a new case (if we need to). Should be straightforward, but we need to:
[ ] Clean up the f-layer notebook so it properly illustrates a single case (and makes an illustrative figure for the paper)
[ ] Clean up the flayer.py module so that the main functions match the description at the top, and the case handler turns off output when running
[ ] Reorganise the internal functions, we have at least one too many levels of abstraction
[ ] If using the lower level interface, reduce the output and give useful convergence information
[ ] Work out what else we need to calculate once we've got a self consistent solution
[ ] Put something useful in a profiling notebook
[ ] Do some kind of test to check sensitivity to discretisation and convergence criteria
[ ] Write a module to drive multiple cases (from csv/pandas/yaml) fill in missing data or rerun all
[ ] Write a notebook to look at cases collectively (table and graphs)
The plan is to handle the (numerous) F-layer cases via a single function in the flayer module and a module that wrapps this and does many cases in parallel. The single case code is basically written (but that whole flayer module needs a cleanup, with the option to give less verbose output and with useful summary data returned). Still need a case handler module. The idea will be to bundle a csv (or pandas) file for the cases and show graphs and a table) from this in a final notebook with an easy way to rerun the whole lot (if we change the model) or add a new case (if we need to). Should be straightforward, but we need to: