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) | :: | UnitNum |
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 ReportZoneEvaporativeCoolerUnit(UnitNum)
! SUBROUTINE INFORMATION:
! AUTHOR B. Griffith
! DATE WRITTEN July 2013
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! update output variables for the zone evap unit
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! na
! USE STATEMENTS:
Use DataHVACGlobals, ONLY: TimeStepSys
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT (IN) :: UnitNum ! unit number
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: ZoneNodeNum
INTEGER :: UnitOutletNodeNum
REAL(r64) :: AirMassFlow
REAL(r64) :: MinHumRat
REAL(r64) :: QTotUnitOut
REAL(r64) :: QSensUnitOut
ZoneNodeNum = ZoneEvapUnit(UnitNum)%ZoneNodeNum
UnitOutletNodeNum = ZoneEvapUnit(UnitNum)%UnitOutletNodeNum
AirMassFlow = Node(UnitOutletNodeNum)%MassFlowRate
QTotUnitOut = AirMassFlow * (Node(UnitOutletNodeNum)%Enthalpy - Node(ZoneNodeNum)%Enthalpy)
MinHumRat = Min(Node(ZoneNodeNum)%HumRat, Node(UnitOutletNodeNum)%HumRat)
QSensUnitOut = AirMassFlow * (PsyHFnTdbW(Node(UnitOutletNodeNum)%Temp,MinHumRat, 'ReportZoneEvaporativeCoolerUnit') &
- PsyHFnTdbW(Node(ZoneNodeNum)%Temp,MinHumRat, 'ReportZoneEvaporativeCoolerUnit'))
ZoneEvapUnit(UnitNum)%UnitTotalCoolingRate = ABS(MIN(0.0d0, QTotUnitOut))
ZoneEvapUnit(UnitNum)%UnitTotalCoolingEnergy = ZoneEvapUnit(UnitNum)%UnitTotalCoolingRate *TimeStepSys*SecInHour
ZoneEvapUnit(UnitNum)%UnitSensibleCoolingRate = ABS(MIN(0.0d0, QSensUnitOut))
ZoneEvapUnit(UnitNum)%UnitSensibleCoolingEnergy = ZoneEvapUnit(UnitNum)%UnitSensibleCoolingRate *TimeStepSys*SecInHour
ZoneEvapUnit(UnitNum)%UnitLatentHeatingRate = ABS(MAX(0.0d0, (QTotUnitOut - QSensUnitOut)))
ZoneEvapUnit(UnitNum)%UnitLatentHeatingEnergy = ZoneEvapUnit(UnitNum)%UnitLatentHeatingRate *TimeStepSys*SecInHour
ZoneEvapUnit(UnitNum)%UnitLatentCoolingRate = ABS(MIN(0.0d0, (QTotUnitOut - QSensUnitOut)))
ZoneEvapUnit(UnitNum)%UnitLatentCoolingEnergy = ZoneEvapUnit(UnitNum)%UnitLatentCoolingRate *TimeStepSys*SecInHour
ZoneEvapUnit(UnitNum)%UnitFanSpeedRatio = ZoneEvapUnit(UnitNum)%FanSpeedRatio
RETURN
END SUBROUTINE ReportZoneEvaporativeCoolerUnit