Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | BranchListName | |||
character(len=*), | intent(inout) | :: | LoopType | |||
character(len=*), | intent(inout) | :: | LoopSupplyDemandAir | |||
logical, | intent(inout) | :: | MatchedLoop |
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 FindAirPlantCondenserLoopFromBranchList(BranchListName,LoopType,LoopSupplyDemandAir,MatchedLoop)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN February 2008
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Assist in validating Loop Splitter/Mixer connections.
! METHODOLOGY EMPLOYED:
! Call two previously written subroutines that match a Branch List Name to
! Plant or Condenser Loop
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
CHARACTER(len=*), INTENT(IN) :: BranchListName ! Branch List Name
CHARACTER(len=*), INTENT(INOUT) :: LoopType ! LoopType (if found, Plant,Condenser or Air)
CHARACTER(len=*), INTENT(INOUT) :: LoopSupplyDemandAir ! Supply if "Supply" or Demand if "Demand" or Air if "Air"
LOGICAL, INTENT(INOUT) :: MatchedLoop ! true if found
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
CHARACTER(len=MaxNameLength) :: FoundLoopName
INTEGER :: FoundLoopNum
REAL(r64) :: FoundLoopVolFlowRate
LoopSupplyDemandAir=Blank
FoundLoopName=Blank
FoundLoopNum=0
FoundLoopVolFlowRate=0.0d0
MatchedLoop=.false.
LoopType=Blank
! Try Plant first
CALL FindPlantLoopBranchConnection(BranchListName,FoundLoopName,FoundLoopNum, &
LoopSupplyDemandAir,FoundLoopVolFlowRate,MatchedLoop)
IF (MatchedLoop) LoopType='Plant'
IF (.not. MatchedLoop) THEN ! Try Condenser Loop
LoopSupplyDemandAir=Blank
FoundLoopName=Blank
FoundLoopNum=0
FoundLoopVolFlowRate=0.0d0
MatchedLoop=.false.
! Try Condenser
CALL FindCondenserLoopBranchConnection(BranchListName,FoundLoopName,FoundLoopNum, &
LoopSupplyDemandAir,FoundLoopVolFlowRate,MatchedLoop)
IF (MatchedLoop) LoopType='Condenser'
ENDIF
IF (.not. MatchedLoop) THEN ! Try Air Loop
LoopSupplyDemandAir=Blank
FoundLoopName=Blank
FoundLoopNum=0
FoundLoopVolFlowRate=0.0d0
MatchedLoop=.false.
! Try Air
CALL FindAirLoopBranchConnection(BranchListName,FoundLoopName,FoundLoopNum, &
LoopSupplyDemandAir,FoundLoopVolFlowRate,MatchedLoop)
IF (MatchedLoop) LoopType='Air'
ENDIF
RETURN
END SUBROUTINE FindAirPlantCondenserLoopFromBranchList