Checks for successful (de)allocation. Stops the code.
Use this after an allocate/deallocate statement
allocate(x(nz,ny,nx), stat=istat); call mErr(istat,'x',1)
deallocate(x, stat=istat); call mErr(istat,'x',2)
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.