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.
FUNCTION CreateSysTimeIntervalString() RESULT(OutputString)
! FUNCTION INFORMATION:
! AUTHOR Linda K. Lawrie
! DATE WRITTEN April 2003
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! This function creates the current time interval of the system
! time step.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobals, ONLY: CurrentTime,TimeStepZone
USE DataHVACGlobals, ONLY: TimeStepSys,SysTimeElapsed
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
CHARACTER(len=70) :: OutputString
! FUNCTION PARAMETER DEFINITIONS:
CHARACTER(len=*),PARAMETER :: TstmpFmt="(I2.2,':',F3.0)"
CHARACTER(len=*),PARAMETER :: TstmpFmti="(I2.2,':',I2.2)"
REAL(r64),PARAMETER :: FracToMin=60.0d0
! INTERFACE BLOCK SPECIFICATIONS
! na
! DERIVED TYPE DEFINITIONS
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
REAL(r64) ActualTimeS ! Start of current interval (HVAC time step)
REAL(r64) ActualTimeE ! End of current interval (HVAC time step)
INTEGER ActualTimeHrS
! INTEGER ActualTimeHrE
CHARACTER(len=10) TimeStmpS ! Character representation of start of interval
CHARACTER(len=10) TimeStmpE ! Character representation of end of interval
integer ActualTimeMinS
! ActualTimeS=INT(CurrentTime)+(SysTimeElapsed+(CurrentTime - INT(CurrentTime)))
! CR6902 ActualTimeS=INT(CurrentTime-TimeStepZone)+SysTimeElapsed
! [DC] TODO: Improve display accuracy up to fractional seconds using hh:mm:ss.0 format
ActualTimeS = CurrentTime-TimeStepZone+SysTimeElapsed
ActualtimeE = ActualTimeS+TimeStepSys
ActualTimeHrS=INT(ActualTimeS)
! ActualTimeHrE=INT(ActualTimeE)
ActualTimeMinS=NINT((ActualTimeS - ActualTimeHrS)*FracToMin)
IF (ActualTimeMinS == 60) then
ActualTimeHrS=ActualTimeHrS+1
ActualTimeMinS = 0
ENDIF
WRITE(TimeStmpS,TStmpFmti) ActualTimeHrS,ActualTimeMinS
WRITE(TimeStmpE,TStmpFmt) INT(ActualTimeE),(ActualTimeE - INT(ActualTimeE))*FracToMin
IF (TimeStmpE(4:4) == ' ') TimeStmpE(4:4)='0'
TimeStmpE=ADJUSTL(TimeStmpE)
TimeStmpE(6:6)=' '
OutputString=TRIM(TimeStmpS)//' - '//TRIM(TimeStmpE)
RETURN
END FUNCTION CreateSysTimeIntervalString