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.
!!! IF(SysVentLoad == 0.0d0)EXIT !!! IF(SysVentLoad == 0.0d0)EXIT
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | AirLoopNum | |||
| integer, | intent(in) | :: | BranchNum | 
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 MatchPlantSys(AirLoopNum,BranchNum)
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Dan Fisher
          !       DATE WRITTEN   May 2005
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          ! calculate and report zone ventilation loads
          ! METHODOLOGY EMPLOYED:
          ! calculate energy contribution of outside air through mixing box and pro-rate to
          ! zones according to zone mass flow rates.
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
  USE DataGlobalConstants
  IMPLICIT NONE    ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
    INTEGER, INTENT(IN)     ::  AirLoopNum           !counter for zone air distribution inlets
    INTEGER, INTENT(IN)     ::  BranchNum           !counter for zone air distribution inlets
          ! SUBROUTINE PARAMETER DEFINITIONS:
    INTEGER, PARAMETER         :: EnergyTrans = 1
    INTEGER, PARAMETER         :: PrimaryAirLoop = 1
          ! INTERFACE BLOCK SPECIFICATIONS
          ! na
          ! DERIVED TYPE DEFINITIONS
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
    CHARACTER(len=MaxNameLength)  :: CompType
    CHARACTER(len=MaxNameLength)  :: CompName
    INTEGER     ::  CompNum             !counter for components on air loop branch connected to air distribution unit
    INTEGER     ::  VarNum
    INTEGER     ::  SubCompNum             !counter for components on air loop branch connected to air distribution unit
    INTEGER     ::  SubSubCompNum             !counter for components on air loop branch connected to air distribution unit
    LOGICAL     :: MatchFound    ! Set to .TRUE. when a match is found
    INTEGER     :: MatchLoop     ! Loop number of the match
    INTEGER     :: MatchBranch   ! Branch number of the match
    INTEGER     :: MatchComp     ! Component number of the match
    INTEGER     :: MatchLoopType
    INTEGER     :: Index
      DO CompNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%TotalComponents
        DO VarNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%NumMeteredVars
          IF(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%MeteredVar(VarNum)%ResourceType ==   &
               iRT_EnergyTransfer)THEN
            PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%EnergyTransComp = EnergyTrans
            CompType = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%TypeOf
            CompName = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%Name
            Index = 0
            CALL FindDemandSideMatch(CompType,CompName,MatchFound,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
            IF(MatchFound)  &
               CALL UpdateAirSysCompPtrArray(Index,AirLoopNum,BranchNum,CompNum,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
            PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%AirSysToPlantPtr = Index
            EXIT
          END IF
        END DO
        DO SubCompNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%NumSubcomps
!!!!!          IF(SysVentLoad == 0.0d0)EXIT
          DO VarNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%NumMeteredVars
            IF(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%MeteredVar(VarNum)%ResourceType  &
                 == iRT_EnergyTransfer)THEN
              PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%EnergyTransComp = EnergyTrans
              CompType = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%TypeOf
              CompName = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%Name
              Index = 0
              CALL FindDemandSideMatch(CompType,CompName,MatchFound,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
              IF(MatchFound)  &
                 CALL UpdateAirSysSubCompPtrArray(Index,AirLoopNum,BranchNum,CompNum,SubCompNum,MatchLoopType,  &
                    MatchLoop,MatchBranch,MatchComp)
              PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%AirSysToPlantPtr = Index
            EXIT
            END IF
          END DO
          DO SubSubCompNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%NumSubSubcomps
!!!!!            IF(SysVentLoad == 0.0d0)EXIT
            DO VarNum = 1, PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%  &
                                                   SubSubComp(SubSubCompNum)%NumMeteredVars
              IF(PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%SubSubComp(SubSubCompNum)%  &
                 MeteredVar(VarNum)%ResourceType == iRT_EnergyTransfer)THEN
                PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%  &
                   SubSubComp(SubSubCompNum)%EnergyTransComp = EnergyTrans
                CompType = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%  &
                   SubSubComp(SubSubCompNum)%TypeOf
                CompName = PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%  &
                   SubSubComp(SubSubCompNum)%Name
                Index = 0
                CALL FindDemandSideMatch(CompType,CompName,MatchFound,MatchLoopType,MatchLoop,MatchBranch,MatchComp)
                IF(MatchFound)  &
                   CALL UpdateAirSysSubSubCompPtrArray(Index,AirLoopNum,BranchNum,CompNum,SubCompNum,SubSubCompNum,MatchLoopType,  &
                      MatchLoop,MatchBranch,MatchComp)
                PrimaryAirSystem(AirLoopNum)%Branch(BranchNum)%Comp(CompNum)%SubComp(SubCompNum)%  &
                   SubSubComp(SubSubCompNum)%AirSysToPlantPtr = Index
                EXIT
              END IF
            END DO
          END DO
        END DO
      END DO
END SUBROUTINE MatchPlantSys