check_time Subroutine

public subroutine check_time(c, t)

Use this procedure when you want a check point. But, for initilization, you must put this without counter at the very begining of your program. ex) check_time() ... check_time( c, t ) print *, job_time( c )

Here is an issue of SYSTEM_CLOCK( count, count_rate, count_max )

From the GNU Fortran Compiler webpage: "Note that the millisecond resolution of the kind=4 version implies that the COUNT will wrap around in roughly 25 days."

In the Intel Fortran Compiler, count_rate is 10000 for integer(4). Since the range of integer(4) is -2147483648 ~ 2147483647, count in integer(4) can handle only 429496 seconds, i.e., about 5 days!

To avoid this issue, let's use the kind=8 version, i.e., integer(8).

Arguments

Type IntentOptional Attributes Name
integer(kind=8), intent(out), optional :: c
real, intent(out), optional :: t