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.
Source Code
subroutine save_memory_status(file_name,tag)!< Save the current CPU-memory status into a file.!< File is accessed in append position.character(*),intent(in)::file_name!< File name.character(*),intent(in),optional::tag!< Tag of current status.character(:),allocatable::tag_!< Tag of current status, local var.integer(I8P)::mem_free,mem_total!< Process memory.integer(I4P)::file_unit!< File unit.tag_='';if(present(tag))tag_=trim(tag)call get_memory_info(mem_free,mem_total)open(newunit=file_unit,file=trim(file_name),position="append")write(file_unit,*)tag_,mem_free,mem_totalclose(file_unit)endsubroutine save_memory_status