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) | :: | CompNum | |||
integer, | intent(in) | :: | LoopNum |
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 ReportPlantUserComponent(CompNum, LoopNum)
! SUBROUTINE INFORMATION:
! AUTHOR B. Griffith
! DATE WRITTEN Feb. 2012
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! report model results
! METHODOLOGY EMPLOYED:
! copy actuated values to structures elsewhere in program.
! REFERENCES:
! na
! USE STATEMENTS:
USE PlantUtilities, ONLY: SetComponentFlowRate, SafeCopyPlantNode
USE Psychrometrics, ONLY: PsyHFnTdbW
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: CompNum
INTEGER, INTENT(IN) :: LoopNum
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
CALL SafeCopyPlantNode(UserPlantComp(CompNum)%Loop(LoopNum)%InletNodeNum, &
UserPlantComp(CompNum)%Loop(LoopNum)%OutletNodeNum)
!unload Actuators to node data structure
Node(UserPlantComp(CompNum)%Loop(LoopNum)%OutletNodeNum)%Temp = &
UserPlantComp(CompNum)%Loop(LoopNum)%OutletTemp
!make mass flow requests, just this loop
CALL SetComponentFlowRate( UserPlantComp(CompNum)%Loop(LoopNum)%MassFlowRateRequest, &
UserPlantComp(CompNum)%Loop(LoopNum)%InletNodeNum, &
UserPlantComp(CompNum)%Loop(LoopNum)%OutletNodeNum, &
UserPlantComp(CompNum)%Loop(LoopNum)%LoopNum, &
UserPlantComp(CompNum)%Loop(LoopNum)%LoopSideNum, &
UserPlantComp(CompNum)%Loop(LoopNum)%BranchNum, &
UserPlantComp(CompNum)%Loop(LoopNum)%CompNum )
IF (UserPlantComp(CompNum)%Air%OutletNodeNum > 0) THEN
Node(UserPlantComp(CompNum)%Air%OutletNodeNum)%Temp = UserPlantComp(CompNum)%Air%OutletTemp
Node(UserPlantComp(CompNum)%Air%OutletNodeNum)%HumRat = UserPlantComp(CompNum)%Air%OutletHumRat
Node(UserPlantComp(CompNum)%Air%OutletNodeNum)%MassFlowRate = UserPlantComp(CompNum)%Air%OutletMassFlowRate
Node(UserPlantComp(CompNum)%Air%OutletNodeNum)%Enthalpy = PsyHFnTdbW(UserPlantComp(CompNum)%Air%OutletTemp, &
UserPlantComp(CompNum)%Air%OutletHumRat, &
'ReportPlantUserComponent')
ENDIF
IF (UserPlantComp(CompNum)%Water%SuppliedByWaterSystem) THEN
WaterStorage(UserPlantComp(CompNum)%Water%SupplyTankID)% &
VdotRequestDemand(UserPlantComp(CompNum)%Water%SupplyTankDemandARRID) &
= UserPlantComp(CompNum)%Water%SupplyVdotRequest
ENDIF
IF (UserPlantComp(CompNum)%Water%CollectsToWaterSystem) THEN
WaterStorage(UserPlantComp(CompNum)%Water%CollectionTankID)% &
VdotAvailSupply(UserPlantComp(CompNum)%Water%CollectionTankSupplyARRID) &
= UserPlantComp(CompNum)%Water%CollectedVdot
ENDIF
IF (UserPlantComp(CompNum)%Loop(LoopNum)%HowLoadServed == HowMet_ByNominalCapLowOutLimit) THEN
PlantLoop(UserPlantComp(CompNum)%Loop(LoopNum)%LoopNum)% &
LoopSide(UserPlantComp(CompNum)%Loop(LoopNum)%LoopSideNum)% &
Branch(UserPlantComp(CompNum)%Loop(LoopNum)%BranchNum)% &
Comp(UserPlantComp(CompNum)%Loop(LoopNum)%CompNum)%MinOutletTemp &
= UserPlantComp(CompNum)%Loop(LoopNum)%LowOutTempLimit
ENDIF
IF (UserPlantComp(CompNum)%Loop(LoopNum)%HowLoadServed == HowMet_ByNominalCapHiOutLimit) THEN
PlantLoop(UserPlantComp(CompNum)%Loop(LoopNum)%LoopNum)% &
LoopSide(UserPlantComp(CompNum)%Loop(LoopNum)%LoopSideNum)% &
Branch(UserPlantComp(CompNum)%Loop(LoopNum)%BranchNum)% &
Comp(UserPlantComp(CompNum)%Loop(LoopNum)%CompNum)%MaxOutletTemp &
= UserPlantComp(CompNum)%Loop(LoopNum)%HiOutTempLimit
ENDIF
RETURN
END SUBROUTINE ReportPlantUserComponent