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.
FUNCTION epElapsedTime() RESULT(calctime)
! FUNCTION INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN February 2012
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS FUNCTION:
! An alternative method for timing elapsed times is to call the standard
! Date_And_Time routine and set the "time".
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! FUNCTION ARGUMENT DEFINITIONS:
REAL(r64) :: calctime ! calculated time based on hrs, minutes, seconds, milliseconds
! FUNCTION PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! FUNCTION LOCAL VARIABLE DECLARATIONS:
INTEGER(i32) :: clockvalues(8)
!value(1) Current year
!value(2) Current month
!value(3) Current day
!value(4) Time difference with respect to UTC in minutes (0-59)
!value(5) Hour of the day (0-23)
!value(6) Minutes (0-59)
!value(7) Seconds (0-59)
!value(8) Milliseconds (0-999)
CALL date_and_time(values=clockvalues)
calctime = clockvalues(5)*3600.d0+clockvalues(6)*60.d0+clockvalues(7)+clockvalues(8)/1000.d0
RETURN
END FUNCTION epElapsedTime