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 PushSystemTimestepHistories
! SUBROUTINE INFORMATION:
! AUTHOR Brent Griffith
! DATE WRITTEN April 2008
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! push histories
! 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 back in time
DO ZoneNum = 1, NumOfZones
DSXM4T(ZoneNum) = DSXM3T(ZoneNum)
DSXM3T(ZoneNum) = DSXM2T(ZoneNum)
DSXM2T(ZoneNum) = DSXMAT(ZoneNum)
DSXMAT(ZoneNum) = MAT(ZoneNum)
DSWZoneTimeMinus4(ZoneNum) = DSWZoneTimeMinus3(ZoneNum)
DSWZoneTimeMinus3(ZoneNum) = DSWZoneTimeMinus2(ZoneNum)
DSWZoneTimeMinus2(ZoneNum) = DSWZoneTimeMinus1(ZoneNum)
DSWZoneTimeMinus1(ZoneNum) = ZoneAirHumRat(ZoneNum)
IF (IsZoneDV(ZoneNum) .or. IsZoneUI(ZoneNum)) Then
DSXM4TFloor(ZoneNum) = DSXM3TFloor(ZoneNum)
DSXM3TFloor(ZoneNum) = DSXM2TFloor(ZoneNum)
DSXM2TFloor(ZoneNum) = DSXMATFloor(ZoneNum)
DSXMATFloor(ZoneNum) = MATFloor(ZoneNum)
DSXM4TOC(ZoneNum) = DSXM3TOC(ZoneNum)
DSXM3TOC(ZoneNum) = DSXM2TOC(ZoneNum)
DSXM2TOC(ZoneNum) = DSXMATOC(ZoneNum)
DSXMATOC(ZoneNum) = MATOC(ZoneNum)
DSXM4TMX(ZoneNum) = DSXM3TMX(ZoneNum)
DSXM3TMX(ZoneNum) = DSXM2TMX(ZoneNum)
DSXM2TMX(ZoneNum) = DSXMATMX(ZoneNum)
DSXMATMX(ZoneNum) = MATMX(ZoneNum)
ENDIF
ENDDO ! zone loop
If (ZoneAirSolutionAlgo .NE. Use3rdOrder) Then
DO ZoneNum = 1, NumOfZones
ZoneTM2(ZoneNum) = ZoneTMX(ZoneNum)
ZoneTMX(ZoneNum) = MAT(ZoneNum) ! using average for whole zone time step.
ZoneWM2(ZoneNum) = ZoneWMX(ZoneNum)
ZoneWMX(ZoneNum) = ZoneAirHumRatTemp(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.
ENDIF
ENDDO ! zone loop
End If
RETURN
END SUBROUTINE PushSystemTimestepHistories