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) | :: | RackNum |
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 ReportRackSystem(RackNum)
! SUBROUTINE INFORMATION:
! AUTHOR Richard Raustad, FSEC
! DATE WRITTEN Oct/Nov 2004
! MODIFIED Hudson, ORNL Feb 2007, July 2007
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! To report compressor rack variables
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataWater, ONLY: WaterStorage
USE DataHVACGlobals, ONLY: TimeStepSys
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: RackNum
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: LocalTimeStep = 0.0d0 !TimeStepZone for case/walkin systems, TimeStepSys for coil systems
INTEGER :: DemandARRID = 0 ! Index to water tank Demand used for evap condenser on rack
INTEGER :: RackTankID = 0 ! Index to water tank used for evap condenser on rack
LocalTimeStep = TimeStepZone
IF(UseSysTimeStep) LocalTimeStep = TimeStepSys
RefrigRack(RackNum)%RackCompressorPower = TotalCompressorPower
RefrigRack(RackNum)%RackElecConsumption = TotalCompressorPower * LocalTimeStep * SecInHour
RefrigRack(RackNum)%ActualCondenserFanPower = TotalCondenserFanPower
RefrigRack(RackNum)%CondenserFanConsumption = TotalCondenserFanPower * LocalTimeStep * SecInHour
RefrigRack(RackNum)%RackCapacity = TotalRackDeliveredCapacity
RefrigRack(RackNum)%RackCoolingEnergy = TotalRackDeliveredCapacity * LocalTimeStep * SecInHour
RefrigRack(RackNum)%RackCompressorCOP = CompressorCOPactual
RefrigRack(RackNum)%SensHVACCreditHeatRate = RackSenCreditToHVAC
RefrigRack(RackNum)%SensHVACCreditHeat = RackSenCreditToHVAC * LocalTimeStep * SecInHour
RefrigRack(RackNum)%SensZoneCreditHeatRate = RackSenCreditToZone
RefrigRack(RackNum)%SensZoneCreditHeat = RackSenCreditToZone * LocalTimeStep * SecInHour
RefrigRack(RackNum)%EvapWaterConsumpRate = TotalEvapWaterUseRate
RefrigRack(RackNum)%EvapWaterConsumption = TotalEvapWaterUseRate * LocalTimeStep * SecInHour
RefrigRack(RackNum)%ActualEvapPumpPower = TotalCondenserPumpPower
RefrigRack(RackNum)%EvapPumpConsumption = TotalCondenserPumpPower * LocalTimeStep * SecInHour
RefrigRack(RackNum)%BasinHeaterPower = TotalBasinHeatPower
RefrigRack(RackNum)%BasinHeaterConsumption = TotalBasinHeatPower * LocalTimeStep * SecInHour
RefrigRack(RackNum)%CondLoad = TotalCondenserHeat
RefrigRack(RackNum)%CondEnergy = TotalCondenserHeat * LocalTimeStep * SecInHour
! Set total rack heat rejection used for heat reclaim. Do not allow heat reclaim on stand alone (indoor) display cases.
IF(RefrigRack(RackNum)%HeatRejectionLocation == LocationZone) THEN
HeatReclaimRefrigeratedRack(RackNum)%AvailCapacity = 0.0d0
ELSE
HeatReclaimRefrigeratedRack(RackNum)%AvailCapacity = TotalRackDeliveredCapacity * (1.0d0 + 1.0d0/CompressorCOPactual)
END IF
!set water system demand request (if needed)
IF (RefrigRack(RackNum)%EvapWaterSupplyMode == WaterSupplyFromTank) THEN
DemandARRID = RefrigRack(RackNum)%EvapWaterTankDemandARRID
RackTankID = RefrigRack(RackNum)%EvapWaterSupTankID
WaterStorage(RackTankID)%VdotRequestDemand(DemandARRID) = RefrigRack(RackNum)%EvapWaterConsumpRate
END IF
CALL SumZoneImpacts
RETURN
END SUBROUTINE ReportRackSystem