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 string_index(str,array)! Return index of first occurence of str in array, return 0 if not incharacter(len=*),intent(in)::str,array(:)integer istring_index=0do i=1,size(array)if(trim(array(i))==trim(str))thenstring_index=iexit end if end do end function string_index