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 | ||
---|---|---|---|---|---|---|
real(kind=r64) | :: | MyLoad | ||||
logical | :: | RunFlag | ||||
integer | :: | Num |
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 UpdateConstCOPChillerRecords(MyLoad,RunFlag,Num)
! SUBROUTINE INFORMATION:
! AUTHOR: Dan Fisher
! DATE WRITTEN: October 1998
! PURPOSE OF THIS SUBROUTINE:
! METHODOLOGY EMPLOYED:
! REFERENCES:
! USE STATEMENTS:
USE DataGlobals, ONLY: SecInHour
USE DataHVACGlobals, ONLY: TimeStepSys
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
REAL(r64) :: MyLoad !unused1208
LOGICAL :: RunFlag !unused1208
INTEGER :: Num
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: EvapInletNode
INTEGER :: EvapOutletNode
INTEGER :: CondInletNode
INTEGER :: CondOutletNode
REAL(r64) :: ReportingConstant ! Number of seconds per HVAC system time step, to convert from W (J/s) to J
ReportingConstant = TimeStepSys*SecInHour
EvapInletNode = ConstCOPChiller(Num)%Base%EvapInletNodeNum
EvapOutletNode = ConstCOPChiller(Num)%Base%EvapOutletNodeNum
CondInletNode = ConstCOPChiller(Num)%Base%CondInletNodeNum
CondOutletNode = ConstCOPChiller(Num)%Base%CondOutletNodeNum
IF (MyLoad >= 0.d0 .OR. .NOT. RunFlag)THEN !Chiller not running so pass inlet states to outlet states
ConstCOPChillerReport(Num)%Base%Power = 0.0d0
ConstCOPChillerReport(Num)%Base%QEvap = 0.0d0
ConstCOPChillerReport(Num)%Base%QCond = 0.0d0
ConstCOPChillerReport(Num)%Base%Energy = 0.0d0
ConstCOPChillerReport(Num)%Base%EvapEnergy = 0.0d0
ConstCOPChillerReport(Num)%Base%CondEnergy = 0.0d0
ConstCOPChillerReport(Num)%Base%CondInletTemp = Node(CondInletNode)%Temp
ConstCOPChillerReport(Num)%Base%EvapInletTemp = Node(EvapInletNode)%Temp
ConstCOPChillerReport(Num)%Base%CondOutletTemp = Node(CondInletNode)%Temp
ConstCOPChillerReport(Num)%Base%EvapOutletTemp = Node(EvapInletNode)%Temp
ConstCOPChillerReport(Num)%Base%Evapmdot = EvapMassFlowRate
ConstCOPChillerReport(Num)%Base%Condmdot = CondMassFlowRate
ConstCOPChillerReport(Num)%ActualCOP = 0.0d0
IF (ConstCOPChiller(Num)%Base%CondenserType == EvapCooled) THEN
ConstCOPChillerReport(Num)%Base%BasinHeaterPower = BasinHeaterPower
ConstCOPChillerReport(Num)%Base%BasinHeaterConsumption = BasinHeaterPower*ReportingConstant
ENDIF
!set outlet node temperatures
Node(EvapOutletNode)%Temp = Node(EvapInletNode)%Temp
Node(CondOutletNode)%Temp = Node(CondInletNode)%Temp
ELSE
ConstCOPChillerReport(Num)%Base%Power = Power
ConstCOPChillerReport(Num)%Base%QEvap = QEvaporator
ConstCOPChillerReport(Num)%Base%QCond = QCondenser
ConstCOPChillerReport(Num)%Base%Energy = Energy
ConstCOPChillerReport(Num)%Base%EvapEnergy = EvaporatorEnergy
ConstCOPChillerReport(Num)%Base%CondEnergy = CondenserEnergy
ConstCOPChillerReport(Num)%Base%CondInletTemp = Node(CondInletNode)%Temp
ConstCOPChillerReport(Num)%Base%EvapInletTemp = Node(EvapInletNode)%Temp
ConstCOPChillerReport(Num)%Base%CondOutletTemp = CondOutletTemp
ConstCOPChillerReport(Num)%Base%EvapOutletTemp = EvapOutletTemp
ConstCOPChillerReport(Num)%Base%Evapmdot = EvapMassFlowRate
ConstCOPChillerReport(Num)%Base%Condmdot = CondMassFlowRate
IF (Power .ne. 0.0d0) THEN
ConstCOPChillerReport(Num)%ActualCOP = QEvaporator/Power
ELSE
ConstCOPChillerReport(Num)%ActualCOP = 0.0d0
END IF
IF (ConstCOPChiller(Num)%Base%CondenserType == EvapCooled) THEN
ConstCOPChillerReport(Num)%Base%BasinHeaterPower = BasinHeaterPower
ConstCOPChillerReport(Num)%Base%BasinHeaterConsumption = BasinHeaterPower*ReportingConstant
ENDIF
!set outlet node temperatures
Node(EvapOutletNode)%Temp = EvapOutletTemp
Node(CondOutletNode)%Temp = CondOutletTemp
END IF
RETURN
END SUBROUTINE UpdateConstCOPChillerRecords