Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | IceNum | |||
real(kind=r64), | intent(in) | :: | XCurIceFrac | |||
real(kind=r64), | intent(out) | :: | UAIceCh | |||
real(kind=r64), | intent(out) | :: | UAIceDisCh | |||
real(kind=r64), | intent(out) | :: | HLoss |
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 CalcUAIce(IceNum,XCurIceFrac,UAIceCh,UAIceDisCh,HLoss)
! SUBROUTINE INFORMATION:
! AUTHOR
! DATE WRITTEN
! MODIFIED
! RE-ENGINEERED
! PURPOSE OF THIS SUBROUTINE:
! METHODOLOGY EMPLOYED:
! This routine is funtion of XCurIceFrac, and UA vaule is based on 1 hour.
! REFERENCES:
! USE STATEMENTS:
IMPLICIT NONE
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: IceNum
REAL(r64), INTENT(IN) :: XCurIceFrac
REAL(r64), INTENT(OUT) :: UAIceCh
REAL(r64), INTENT(OUT) :: UAIceDisCh
REAL(r64), INTENT(OUT) :: HLoss
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
REAL(r64) :: y
! REAL(r64) :: dTlmic
! REAL(r64) :: Tfr ! IP freezing temperature
! Flow
SELECT CASE( IceStorage(IceNum)%ITSType_Num )
CASE(ITSType_IceOnCoilInternal)
y = XCurIceFrac
UAIceCh = ( 1.3879d0 - 7.6333d0*y + 26.3423d0*y**2 - 47.6084d0*y**3 + 41.8498d0*y**4 - 14.2948d0*y**5 ) & ! [W/C]
* IceStorage(IceNum)%ITSNomCap / TimeInterval / 10.0d0
y=1.0d0-XCurIceFrac
UAIceDisCh = ( 1.3879d0 - 7.6333d0*y + 26.3423d0*y**2 - 47.6084d0*y**3 + 41.8498d0*y**4 - 14.2948d0*y**5 ) & ! [W/C]
* IceStorage(IceNum)%ITSNomCap / TimeInterval / 10.0d0
HLoss = 0.0d0
CASE(ITSType_IceOnCoilExternal)
y = XCurIceFrac
UAIceCh = ( 1.3879d0 - 7.6333d0*y + 26.3423d0*y**2 - 47.6084d0*y**3 + 41.8498d0*y**4 - 14.2948d0*y**5 ) & ! [W/C]
* IceStorage(IceNum)%ITSNomCap / TimeInterval / 10.0d0
y = 1.0d0-XCurIceFrac
UAIceDisCh = ( 1.1756d0 - 5.3689d0*y + 17.3602d0*y**2 - 30.1077d0*y**3 + 25.6387d0*y**4 - 8.5102d0*y**5 ) & ! [W/C]
* IceStorage(IceNum)%ITSNomCap / TimeInterval / 10.0d0
HLoss = 0.0d0
END SELECT
RETURN
END SUBROUTINE CalcUAIce