Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is descended from. Dashed arrows point from a module or program unit to modules which it uses.
improve initial condition after initialization
fill in initial condition
Generate and initialize all grids at the coarsest level (level one)
modify initial condition