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. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
SUBROUTINE ReportRuntimeLanguage
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Peter Graham Ellis
          !       DATE WRITTEN   June 2006
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          !
          ! METHODOLOGY EMPLOYED:
          !
          ! USE STATEMENTS:
  IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  INTEGER :: RuntimeReportVarNum
  INTEGER :: VariableNum
          ! FLOW:
  DO RuntimeReportVarNum = 1, NumEMSOutputVariables+NumEMSMeteredOutputVariables
    VariableNum = RuntimeReportVar(RuntimeReportVarNum)%VariableNum
    IF (ErlVariable(VariableNum)%Value%Type == ValueNumber) THEN
      RuntimeReportVar(RuntimeReportVarNum)%Value = ErlVariable(VariableNum)%Value%Number
    ELSE
      RuntimeReportVar(RuntimeReportVarNum)%Value = 0.0d0
    END IF
  END DO
  RETURN
END SUBROUTINE ReportRuntimeLanguage