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) | :: | CompType | |||
character(len=*), | intent(in) | :: | CompName | |||
logical, | intent(inout) | :: | OASysFlag | |||
logical, | intent(inout) | :: | ErrFound |
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.
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 CheckBranchForOASys(CompType, CompName, OASysFlag, ErrFound)
! FUNCTION INFORMATION:
! AUTHOR Richard Raustad, FSEC
! DATE WRITTEN August 2013
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! This function returns TRUE if the branch contains an OA System
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataInterfaces, ONLY: ShowSevereError
USE General, ONLY: TrimSigDigits
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
CHARACTER(len=*), INTENT(IN) :: CompType
CHARACTER(len=*), INTENT(IN) :: CompName
LOGICAL, INTENT(INOUT) :: OASysFlag
LOGICAL, INTENT(INOUT) :: ErrFound
! FUNCTION PARAMETER DEFINITIONS:
CHARACTER(len=1), PARAMETER :: Blank=' '
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
INTEGER CompNum ! loop counter
INTEGER NumBranches ! number of branches
INTEGER BranchNum ! loop index
INTEGER AirBranchIndex ! index to branch containing CompType, CompName
IF (GetBranchInputFlag) THEN
GetBranchInputFlag=.false.
CALL GetBranchInput
ENDIF
ErrFound = .FALSE.
OASysFlag = .FALSE.
NumBranches=SIZE(BRANCH)
BranchLoop: DO BranchNum = 1, NumBranches
DO CompNum = 1, Branch(BranchNum)%NumOfComponents
IF(.NOT. SameString(CompType,Branch(BranchNum)%Component(CompNum)%CType) .AND. &
.NOT. SameString(CompName,Branch(BranchNum)%Component(CompNum)%Name))CYCLE
AirBranchIndex=BranchNum
EXIT BranchLoop
END DO
END DO BranchLoop
IF (AirBranchIndex == 0) THEN
CALL ShowSevereError('CheckBranchForOASys: Branch index not found = '//TrimSigDigits(AirBranchIndex,0))
ErrFound = .TRUE.
ELSE
IF(AirBranchIndex > 0 .AND. AirBranchIndex <= NumBranches)THEN
DO CompNum = 1, Branch(AirBranchIndex)%NumOfComponents
IF(.not. SameString('AirLoopHVAC:OutdoorAirSystem',Branch(AirBranchIndex)%Component(CompNum)%CType))CYCLE
OASysFlag = .TRUE.
EXIT
END DO
ELSE
CALL ShowSevereError('CheckBranchForOASys: Branch index not found = '//TrimSigDigits(AirBranchIndex,0))
ErrFound = .TRUE.
END IF
ENDIF
RETURN
END SUBROUTINE CheckBranchForOASys