Code is now functionally complete apart from lacking miscibility, not writing to all promised output variables and not writing the promised output to disk. Initial testing has been unsuccessful, so there are bugs in the code.