FUNCTION eptime() RESULT(calctime)
          ! FUNCTION INFORMATION:
          !       AUTHOR         Linda Lawrie
          !       DATE WRITTEN   January 2012
          !       MODIFIED       na
          !       RE-ENGINEERED  na
          ! PURPOSE OF THIS FUNCTION:
          ! An alternative method for timing (to CPU_TIME) is to call the standard
          ! System_Clock routine.  This is a standard alternative to CPU_TIME.
          ! According to Intel documentation, the "count_rate" may differ depending on
          ! the size of the integer to receive the output.
          ! 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 "count" and "count_rate"
          ! FUNCTION PARAMETER DEFINITIONS:
          ! na
          ! INTERFACE BLOCK SPECIFICATIONS:
          ! na
          ! DERIVED TYPE DEFINITIONS:
          ! na
          ! FUNCTION LOCAL VARIABLE DECLARATIONS:
  INTEGER(i32) :: icount
  CALL system_clock(count=icount)
  calctime=real(icount,r64)/clockrate  ! clockrate is set by main program.
  RETURN
END FUNCTION eptime