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 |
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 ReportZoneAirUserDefined(CompNum)
! SUBROUTINE INFORMATION:
! AUTHOR B. Griffith
! DATE WRITTEN Feb. 2012
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! report model outputs
! METHODOLOGY EMPLOYED:
! <description>
! 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
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: Loop
Node(UserZoneAirHVAC(CompNum)%ZoneAir%InletNodeNum)%MassFlowRate = UserZoneAirHVAC(CompNum)%ZoneAir%InletMassFlowRate
Node(UserZoneAirHVAC(CompNum)%ZoneAir%OutletNodeNum)%Temp = UserZoneAirHVAC(CompNum)%ZoneAir%OutletTemp
Node(UserZoneAirHVAC(CompNum)%ZoneAir%OutletNodeNum)%HumRat = UserZoneAirHVAC(CompNum)%ZoneAir%OutletHumRat
Node(UserZoneAirHVAC(CompNum)%ZoneAir%OutletNodeNum)%MassFlowRate = UserZoneAirHVAC(CompNum)%ZoneAir%OutletMassFlowRate
Node(UserZoneAirHVAC(CompNum)%ZoneAir%OutletNodeNum)%Enthalpy = PsyHFnTdbW(UserZoneAirHVAC(CompNum)%ZoneAir%OutletTemp, &
UserZoneAirHVAC(CompNum)%ZoneAir%OutletHumRat, &
'ReportZoneAirUserDefined')
IF (UserZoneAirHVAC(CompNum)%SourceAir%OutletNodeNum > 0) THEN
Node(UserZoneAirHVAC(CompNum)%SourceAir%OutletNodeNum)%Temp = UserZoneAirHVAC(CompNum)%SourceAir%OutletTemp
Node(UserZoneAirHVAC(CompNum)%SourceAir%OutletNodeNum)%HumRat = UserZoneAirHVAC(CompNum)%SourceAir%OutletHumRat
Node(UserZoneAirHVAC(CompNum)%SourceAir%OutletNodeNum)%MassFlowRate = UserZoneAirHVAC(CompNum)%SourceAir%OutletMassFlowRate
Node(UserZoneAirHVAC(CompNum)%SourceAir%OutletNodeNum)%Enthalpy = PsyHFnTdbW(UserZoneAirHVAC(CompNum)%SourceAir%OutletTemp,&
UserZoneAirHVAC(CompNum)%SourceAir%OutletHumRat, &
'ReportZoneAirUserDefined')
ENDIF
IF (UserZoneAirHVAC(CompNum)%NumPlantConnections > 0) THEN
DO Loop = 1, UserZoneAirHVAC(CompNum)%NumPlantConnections
!make mass flow requests
CALL SetComponentFlowRate(UserZoneAirHVAC(CompNum)%Loop(Loop)%MassFlowRateRequest, &
UserZoneAirHVAC(CompNum)%Loop(Loop)%InletNodeNum, &
UserZoneAirHVAC(CompNum)%Loop(Loop)%OutletNodeNum, &
UserZoneAirHVAC(CompNum)%Loop(Loop)%LoopNum, &
UserZoneAirHVAC(CompNum)%Loop(Loop)%LoopSideNum, &
UserZoneAirHVAC(CompNum)%Loop(Loop)%BranchNum, &
UserZoneAirHVAC(CompNum)%Loop(Loop)%CompNum )
CALL SafeCopyPlantNode(UserZoneAirHVAC(CompNum)%Loop(Loop)%InletNodeNum, &
UserZoneAirHVAC(CompNum)%Loop(Loop)%OutletNodeNum)
!unload Actuators to node data structure
Node(UserZoneAirHVAC(CompNum)%Loop(Loop)%OutletNodeNum)%Temp = UserZoneAirHVAC(CompNum)%Loop(Loop)%OutletTemp
ENDDO
ENDIF
IF (UserZoneAirHVAC(CompNum)%Water%SuppliedByWaterSystem) THEN
WaterStorage(UserZoneAirHVAC(CompNum)%Water%SupplyTankID)% &
VdotRequestDemand(UserZoneAirHVAC(CompNum)%Water%SupplyTankDemandARRID) &
= UserZoneAirHVAC(CompNum)%Water%SupplyVdotRequest
ENDIF
IF (UserZoneAirHVAC(CompNum)%Water%CollectsToWaterSystem) THEN
WaterStorage(UserZoneAirHVAC(CompNum)%Water%CollectionTankID)% &
VdotAvailSupply(UserZoneAirHVAC(CompNum)%Water%CollectionTankSupplyARRID) &
= UserZoneAirHVAC(CompNum)%Water%CollectedVdot
ENDIF
RETURN
END SUBROUTINE ReportZoneAirUserDefined