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) | :: | LoopSide | |||
real(kind=r64), | intent(in) | :: | OtherSideDemand | |||
real(kind=r64), | intent(in) | :: | LocalRemLoopDemand |
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 UpdateLoopSideReportVars(LoopNum, LoopSide, OtherSideDemand, LocalRemLoopDemand)
! SUBROUTINE INFORMATION:
! AUTHOR Dan Fisher
! DATE WRITTEN July 1998
! MODIFIED Aug 2010 Edwin Lee -- add per loopside variable support
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Update the report variables
! USE STATEMENTS:
USE DataPlant, ONLY: PlantLoop, PlantReport, SupplySide
USE DataLoopNode, ONLY: Node
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER , INTENT(IN) :: LoopNum
INTEGER , INTENT(IN) :: LoopSide
REAL(r64), INTENT(IN) :: OtherSideDemand ! This is the 'other side' demand, based on other side flow
! and delta T (inlet to SetPt)
! This is evaluated once at the beginning of the loop side solver, before
! any of this side equipment alters it
REAL(r64), INTENT(IN) :: LocalRemLoopDemand ! Unmet Demand after equipment has been simulated (report variable)
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
! na
! store node data in plant
IF (LoopSide == SupplySide) THEN
PlantReport(LoopNum)%InletNodeFlowrate = Node(PlantLoop(LoopNum)%LoopSide(SupplySide)%NodeNumIn)%MassFlowRate
PlantReport(LoopNum)%InletNodeTemperature = Node(PlantLoop(LoopNum)%LoopSide(SupplySide)%NodeNumIn)%Temp
PlantReport(LoopNum)%OutletNodeFlowrate = Node(PlantLoop(LoopNum)%LoopSide(SupplySide)%NodeNumOut)%MassFlowRate
PlantReport(LoopNum)%OutletNodeTemperature = Node(PlantLoop(LoopNum)%LoopSide(SupplySide)%NodeNumOut)%Temp
! In the baseline code, only reported supply side demand. so putting in "SupplySide" IF block for now but might expand later
IF (OtherSideDemand < 0.0d0 ) THEN
PlantReport(LoopNum)%CoolingDemand = ABS(OtherSideDemand)
PlantReport(LoopNum)%HeatingDemand = 0.0d0
PlantReport(LoopNum)%DemandNotDispatched = -LocalRemLoopDemand ! Setting sign based on old logic for now
ELSE
PlantReport(LoopNum)%HeatingDemand = OtherSideDemand
PlantReport(LoopNum)%CoolingDemand = 0.0d0
PlantReport(LoopNum)%DemandNotDispatched = LocalRemLoopDemand ! Setting sign based on old logic for now
END IF
CALL CalcUnmetPlantDemand(LoopNum, LoopSide)
ENDIF
RETURN
END SUBROUTINE UpdateLoopSideReportVars