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) | :: | TESCoilNum | 
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 CalcTESCoilOffMode(TESCoilNum)
          ! SUBROUTINE INFORMATION:
          !       AUTHOR         Brent Griffith
          !       DATE WRITTEN   April 2013
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS SUBROUTINE:
          ! <description>
          ! METHODOLOGY EMPLOYED:
          ! <description>
          ! REFERENCES:
          ! na
          ! USE STATEMENTS:
  USE ScheduleManager, ONLY: GetCurrentScheduleValue
  IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
          ! SUBROUTINE ARGUMENT DEFINITIONS:
  INTEGER, INTENT(IN) :: TESCoilNum
          ! SUBROUTINE PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na
          ! DERIVED TYPE DEFINITIONS:
          ! na
          ! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
  REAL(r64) :: StandbyAncillaryPower
!coil is off; just pass through conditions
  IF (GetCurrentScheduleValue(TESCoil(TESCoilNum)%AvailSchedNum) /= 0.d0) THEN
    StandbyAncillaryPower = TESCoil(TESCoilNum)%AncillaryControlsPower
  ELSE
    StandbyAncillaryPower = 0.d0
  ENDIF
  TESCoil(TESCoilNum)%ElecCoolingPower   = StandbyAncillaryPower
  TESCoil(TESCoilNum)%ElecCoolingEnergy  = StandbyAncillaryPower * TimeStepSys * SecInHour
  Node(TESCoil(TESCoilNum)%EvapAirOutletNodeNum )%Temp         = Node(TESCoil(TESCoilNum)%EvapAirInletNodeNum)%Temp
  Node(TESCoil(TESCoilNum)%EvapAirOutletNodeNum )%HumRat       = Node(TESCoil(TESCoilNum)%EvapAirInletNodeNum)%HumRat
  Node(TESCoil(TESCoilNum)%EvapAirOutletNodeNum )%MassFlowRate = Node(TESCoil(TESCoilNum)%EvapAirInletNodeNum)%MassFlowRate
  Node(TESCoil(TESCoilNum)%EvapAirOutletNodeNum)%Enthalpy      = &
                                                          PsyHFnTdbW(Node(TESCoil(TESCoilNum)%EvapAirOutletNodeNum )%Temp, &
                                                                      Node(TESCoil(TESCoilNum)%EvapAirOutletNodeNum )%HumRat, &
                                                                      'CalcTESCoilOffMode')
  Node(TESCoil(TESCoilNum)%CondAirOutletNodeNum )%Temp         = Node(TESCoil(TESCoilNum)%CondAirInletNodeNum)%Temp
  Node(TESCoil(TESCoilNum)%CondAirOutletNodeNum )%HumRat       = Node(TESCoil(TESCoilNum)%CondAirInletNodeNum)%HumRat
  Node(TESCoil(TESCoilNum)%CondAirInletNodeNum  )%MassFlowRate = 0.d0
  Node(TESCoil(TESCoilNum)%CondAirOutletNodeNum )%MassFlowRate = Node(TESCoil(TESCoilNum)%CondAirInletNodeNum)%MassFlowRate
  Node(TESCoil(TESCoilNum)%CondAirOutletNodeNum )%Enthalpy     = &
                                                          PsyHFnTdbW(Node(TESCoil(TESCoilNum)%CondAirOutletNodeNum )%Temp, &
                                                                      Node(TESCoil(TESCoilNum)%CondAirOutletNodeNum )%HumRat, &
                                                                      'CalcTESCoilOffMode')
  TESCoil(TESCoilNum)%RuntimeFraction      =  0.d0
  TESCoil(TESCoilNum)%EvapTotCoolingRate   =  0.d0
  TESCoil(TESCoilNum)%EvapTotCoolingEnergy =  0.d0
  TESCoil(TESCoilNum)%EvapSensCoolingRate  =  0.d0
  TESCoil(TESCoilNum)%EvapSensCoolingEnergy=  0.d0
  TESCoil(TESCoilNum)%EvapLatCoolingRate   =  0.d0
  TESCoil(TESCoilNum)%EvapLatCoolingEnergy =  0.d0
  TESCoil(TESCoilNum)%QdotTES              =  0.d0
  TESCoil(TESCoilNum)%Q_TES                =  0.d0
  CALL UpdateTEStorage(TESCoilNum)
  TESCoil(TESCoilNum)%CondInletTemp = Node(TESCoil(TESCoilNum)%CondAirInletNodeNum)%Temp
  CALL UpdateColdWeatherProtection(TESCoilNum)
  IF (TESCoil(TESCoilNum)%CondenserType == EvapCooled) THEN
    CALL UpdateEvaporativeCondenserBasinHeater(TESCoilNum)
  ENDIF
  RETURN
END SUBROUTINE CalcTESCoilOffMode