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 | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | LoopNum | |||
integer, | intent(in) | :: | LoopSideNum | |||
integer, | intent(in) | :: | BranchNum | |||
integer, | intent(in) | :: | CompNum | |||
character(len=*), | intent(in) | :: | PumpName | |||
integer, | intent(in) | :: | PumpOutletNode | |||
logical, | intent(in) | :: | HasBranchPumps |
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 StoreAPumpOnCurrentTempLoop(LoopNum, LoopSideNum, BranchNum, CompNum, PumpName, PumpOutletNode, HasBranchPumps)
! SUBROUTINE INFORMATION:
! AUTHOR Edwin Lee
! DATE WRITTEN April 2010
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This routine reallocates the pumps data structure in the loopside data structure
! and adds the pump data passed in as the next pumpe
! METHODOLOGY EMPLOYED:
!Fills the following location items in the pump data structure which resides on the LoopSide
! TYPE LoopSidePumpInformation
! CHARACTER(len=MaxNameLength) :: PumpName = ' '
! INTEGER :: PumpTypeOf = 0
! INTEGER :: BranchNum = 0
! INTEGER :: CompNum = 0
! ...
! REFERENCES:
! na
! USE STATEMENTS:
USE DataPlant, ONLY: LoopSidePumpInformation !, SimPlantEquipTypes
! USE InputProcessor, ONLY: FindItemInList
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: LoopNum
INTEGER, INTENT(IN) :: LoopSideNum
INTEGER, INTENT(IN) :: BranchNum
INTEGER, INTENT(IN) :: CompNum
CHARACTER(*), INTENT(IN) :: PumpName
INTEGER, INTENT(IN) :: PumpOutletNode
LOGICAL, INTENT(IN) :: HasBranchPumps
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
TYPE(LoopSidePumpInformation), DIMENSION(:), ALLOCATABLE :: TempPumpArray
INTEGER :: PumpsBeforeIncrement
INTEGER :: PumpsAfterIncrement
IF (ALLOCATED(PlantLoop(LoopNum)%LoopSide(LoopSideNum)%Pumps)) THEN
PumpsBeforeIncrement = SIZE(PlantLoop(LoopNum)%LoopSide(LoopSideNum)%Pumps)
ALLOCATE(TempPumpArray(PumpsBeforeIncrement+1))
TempPumpArray(1:PumpsBeforeIncrement) = PlantLoop(LoopNum)%LoopSide(LoopSideNum)%Pumps
ELSE
PumpsBeforeIncrement = 0
ALLOCATE(TempPumpArray(1))
ENDIF
PumpsAfterIncrement = SIZE(TempPumpArray)
TempPumpArray(PumpsAfterIncrement)%PumpName = PumpName
! TempPumpArray(PumpsAfterIncrement)%PumpTypeOf = FindItemInList(PumpType, SimPlantEquipTypes, SIZE(SimPlantEquipTypes))
TempPumpArray(PumpsAfterIncrement)%BranchNum = BranchNum
TempPumpArray(PumpsAfterIncrement)%CompNum = CompNum
TempPumpArray(PumpsAfterIncrement)%PumpOutletNode = PumpOutletNode
IF(ALLOCATED(PlantLoop(LoopNum)%LoopSide(LoopSideNum)%Pumps)) DEALLOCATE(PlantLoop(LoopNum)%LoopSide(LoopSideNum)%Pumps)
ALLOCATE(PlantLoop(LoopNum)%LoopSide(LoopSideNum)%Pumps(PumpsAfterIncrement))
PlantLoop(LoopNum)%LoopSide(LoopSideNum)%Pumps = TempPumpArray
PlantLoop(LoopNum)%LoopSide(LoopSideNum)%TotalPumps = PumpsAfterIncrement
PlantLoop(LoopNum)%LoopSide(LoopSideNum)%BranchPumpsExist = HasBranchPumps
IF (ALLOCATED(TempPumpArray)) DEALLOCATE(TempPumpArray)
END SUBROUTINE StoreAPumpOnCurrentTempLoop