Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | ComponentType | |||
character(len=*), | intent(in) | :: | ComponentName |
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.
FUNCTION GetNumMeteredVariables(ComponentType,ComponentName) RESULT(NumVariables)
! FUNCTION INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN May 2005
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! This function counts the number of metered variables associated with the
! given ComponentType/Name. This resultant number would then be used to
! allocate arrays for a call the GetMeteredVariables routine.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataPrecisionGlobals
USE OutputProcessor
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
CHARACTER(len=*), INTENT(IN) :: ComponentType ! Given Component Type
CHARACTER(len=*), INTENT(IN) :: ComponentName ! Given Component Name (user defined)
INTEGER :: NumVariables
! FUNCTION PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
INTEGER :: Loop
INTEGER :: Pos
NumVariables=0
DO Loop=1,NumOfRVariable
! Pos=INDEX(RVariableTypes(Loop)%VarName,':')
! IF (ComponentName /= RVariableTypes(Loop)%VarNameUC(1:Pos-1)) CYCLE
IF (ComponentName /= RVariableTypes(Loop)%KeyNameOnlyUC) CYCLE
RVar=>RVariableTypes(Loop)%VarPtr
IF (RVar%MeterArrayPtr == 0) CYCLE
NumVariables=NumVariables+1
ENDDO
RETURN
END FUNCTION GetNumMeteredVariables