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
FUNCTION count_sep(str_in,separator)RESULT(n_sep)IMPLICIT NONE!-------------------------------------------! inputCHARACTER(LEN=*),INTENT(IN)::str_inCHARACTER(LEN=1),INTENT(IN)::separator! outputINTEGER::n_sep!-------------------------------------------! LOCAL VARIABLESCHARACTER(LEN=LEN(str_in))::str_tmpINTEGER::len_in,i!==============================================================================n_sep=0len_in=LEN_TRIM(str_in)str_tmp=TRIM(str_in)IF(str_tmp(1:1).EQ.separator)THEN CALL abort(__STAMP__,&"parameter readin, count separator: first character should not be a separator!")END IF DO i=2,len_in-1IF(str_tmp(i:i).EQ.separator)THENn_sep=n_sep+1END IF END DO IF(str_tmp(len_in:len_in).EQ.separator)THEN CALL abort(__STAMP__,&"parameter readin, count separator: last character should not be a separator!")END IFEND FUNCTION count_sep