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.
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 ReportOrphanFluids
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN March 2010
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! In response to CR8008, report orphan (unused) fluid items.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobals, ONLY: DisplayUnusedObjects
USE InputProcessor, ONLY: SameString
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
LOGICAL :: NeedOrphanMessage
INTEGER :: Item
INTEGER :: NumUnusedRefrig
INTEGER :: NumUnusedGlycol
NeedOrphanMessage=.true.
NumUnusedRefrig=0
DO Item=1,NumOfRefrigerants
IF (RefrigUsed(Item)) CYCLE
IF (SameString(RefrigData(Item)%Name,Steam)) CYCLE
IF (NeedOrphanMessage .and. DisplayUnusedObjects) THEN
CALL ShowWarningError('The following fluid names are "Unused Fluids". These fluids are in the idf')
CALL ShowContinueError(' file but are never obtained by the simulation and therefore are NOT used.')
NeedOrphanMessage=.false.
ENDIF
IF (DisplayUnusedObjects) THEN
CALL ShowMessage('Refrigerant='//TRIM(RefrigData(Item)%Name))
ELSE
NumUnusedRefrig=NumUnusedRefrig+1
ENDIF
ENDDO
NumUnusedGlycol=0
DO Item=1,NumOfGlycols
IF (GlycolUsed(Item)) CYCLE
IF (SameString(GlycolData(Item)%Name,Water)) CYCLE
IF (SameString(GlycolData(Item)%Name,EthyleneGlycol)) CYCLE
IF (SameString(GlycolData(Item)%Name,PropyleneGlycol)) CYCLE
IF (NeedOrphanMessage .and. DisplayUnusedObjects) THEN
CALL ShowWarningError('The following fluid names are "Unused Fluids". These fluids are in the idf')
CALL ShowContinueError(' file but are never obtained by the simulation and therefore are NOT used.')
NeedOrphanMessage=.false.
ENDIF
IF (DisplayUnusedObjects) THEN
CALL ShowMessage('Glycol='//TRIM(GlycolData(Item)%Name))
ELSE
NumUnusedGlycol=NumUnusedGlycol+1
ENDIF
ENDDO
IF (NumUnusedRefrig > 0 .or. NumUnusedGlycol > 0) THEN
IF (NumUnusedRefrig > 0) &
CALL ShowMessage('There are '//trim(RoundSigDigits(NumUnusedRefrig))//' unused refrigerants in input.')
IF (NumUnusedGlycol > 0) &
CALL ShowMessage('There are '//trim(RoundSigDigits(NumUnusedGlycol))//' unused glycols in input.')
CALL ShowMessage('Use Output:Diagnostics,DisplayUnusedObjects; to see them.')
ENDIF
RETURN
END SUBROUTINE ReportOrphanFluids