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.
integer function log_str2level(str)! Convert a str log level to a level numbercharacter(len=*),intent(in)::strselect case(str)case('d','debug')log_str2level=log_debug_levelcase('i','info')log_str2level=log_info_levelcase('w','warn','warning')log_str2level=log_warning_levelcase('e','error')log_str2level=log_error_levelcase defaultlog_str2level=log_debug_levelend select end function log_str2level