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 PushZoneTimestepHistories
! SUBROUTINE INFORMATION:
! AUTHOR Brent Griffith
! DATE WRITTEN February 2008
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! push histories for timestep advancing
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
! na
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: ZoneNum
! Push the temperature and humidity ratio histories
DO ZoneNum = 1, NumOfZones
XM4T(ZoneNum) = XM3T(ZoneNum)
XM3T(ZoneNum) = XM2T(ZoneNum)
XM2T(ZoneNum) = XMAT(ZoneNum)
XMAT(ZoneNum) = ZTAV(ZoneNum) ! using average for whole zone time step.
XMPT(ZoneNum) = ZT(ZoneNum)
! MAT(ZoneNum) = ZT(ZoneNum)
WZoneTimeMinus4(ZoneNum) = WZoneTimeMinus3(ZoneNum)
WZoneTimeMinus3(ZoneNum) = WZoneTimeMinus2(ZoneNum)
WZoneTimeMinus2(ZoneNum) = WZoneTimeMinus1(ZoneNum)
WZoneTimeMinus1(ZoneNum) = ZoneAirHumRatAvg(ZoneNum) ! using average for whole zone time step.
ZoneAirHumRat(ZoneNum) = ZoneAirHumRatTemp(ZoneNum)
WZoneTimeMinusP(ZoneNum) = ZoneAirHumRatTemp(ZoneNum)
ZoneAirRelHum(ZoneNum) = 100.0d0 * PsyRhFnTdbWPb(ZT(ZoneNum),ZoneAirHumRat(ZoneNum),OutBaroPress,'CorrectZoneAirTemp')
IF (AirModel(ZoneNum)%AirModelType == RoomAirModel_UCSDDV .or. AirModel(ZoneNum)%AirModelType == RoomAirModel_UCSDUFI &
.or. AirModel(ZoneNum)%AirModelType == RoomAirModel_UCSDUFE) THEN
XM4TFloor(ZoneNum) = XM3TFloor(ZoneNum)
XM3TFloor(ZoneNum) = XM2TFloor(ZoneNum)
XM2TFloor(ZoneNum) = XMATFloor(ZoneNum)
XMATFloor(ZoneNum) = ZTFloor(ZoneNum)
MATFloor(ZoneNum) = ZTFloor(ZoneNum)
XM4TOC(ZoneNum) = XM3TOC(ZoneNum)
XM3TOC(ZoneNum) = XM2TOC(ZoneNum)
XM2TOC(ZoneNum) = XMATOC(ZoneNum)
XMATOC(ZoneNum) = ZTOC(ZoneNum)
MATOC(ZoneNum) = ZTOC(ZoneNum)
XM4TMX(ZoneNum) = XM3TMX(ZoneNum)
XM3TMX(ZoneNum) = XM2TMX(ZoneNum)
XM2TMX(ZoneNum) = XMATMX(ZoneNum)
XMATMX(ZoneNum) = ZTMX(ZoneNum)
MATMX(ZoneNum) = ZTMX(ZoneNum)
ENDIF
If (ZoneAirSolutionAlgo .NE. Use3rdOrder) Then
ZoneTM2(ZoneNum) = ZoneTMX(ZoneNum)
ZoneTMX(ZoneNum) = ZTAV(ZoneNum) ! using average for whole zone time step.
ZoneWM2(ZoneNum) = ZoneWMX(ZoneNum)
ZoneWMX(ZoneNum) = ZoneAirHumRatAvg(ZoneNum) ! using average for whole zone time step.
IF (AirModel(ZoneNum)%AirModelType == RoomAirModel_UCSDDV .or. AirModel(ZoneNum)%AirModelType == RoomAirModel_UCSDUFI &
.or. AirModel(ZoneNum)%AirModelType == RoomAirModel_UCSDUFE) THEN
ZoneM2Floor(ZoneNum) = ZoneMXFloor(ZoneNum)
ZoneMXFloor(ZoneNum) = ZTFloor(ZoneNum) ! using average for whole zone time step.
ZoneM2OC(ZoneNum) = ZoneMXOC(ZoneNum)
ZoneMXOC(ZoneNum) = ZTOC(ZoneNum) ! using average for whole zone time step.
ZoneM2MX(ZoneNum) = ZoneMXMX(ZoneNum)
ZoneMXMX(ZoneNum) = ZTMX(ZoneNum) ! using average for whole zone time step.
END IF
End If
ENDDO ! zone loop
RETURN
END SUBROUTINE PushZoneTimestepHistories