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) | :: | IndexTypeKey |
FUNCTION DetermineMinuteForReporting(IndexTypeKey) RESULT(ActualTimeMin)
! FUNCTION INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN January 2012
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! When reporting peaks, minutes are used but not necessarily easily calculated.
! METHODOLOGY EMPLOYED:
! Could use the access to the minute as OP (OutputProcessor) does but uses
! external calculation.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataPrecisionGlobals
USE DataGlobals, ONLY: ZoneTSReporting, HVACTSReporting, TimeStepZone, CurrentTime
USE DataHVACGlobals, ONLY: TimeStepSys, SysTimeElapsed
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
INTEGER, INTENT(IN) :: IndexTypeKey ! kind of reporting, Zone Timestep or System
INTEGER :: ActualTimeMin ! calculated Minute for reporting
! FUNCTION PARAMETER DEFINITIONS:
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
if (IndexTypeKey == HVACTSReporting) then
ActualTimeS = CurrentTime-TimeStepZone+SysTimeElapsed
ActualtimeE = ActualTimeS+TimeStepSys
ActualTimeHrS=INT(ActualTimeS)
ActualTimeMin=NINT((ActualtimeE - ActualTimeHrS)*FracToMin)
else
ActualTimeMin = (CurrentTime - INT(CurrentTime))*FracToMin
endif
RETURN
END FUNCTION DetermineMinuteForReporting