The problem appears to be with the etime( ) function. The etime( ) function is supposed to take a real*4 array of length 2 as input; its output (the function value) is supposed to be the sum of the elapsed user+system. The first element of the array is supposed to be set to the user time and the second the system time -- this is the behavior in gfortran.
In windows, we provide our own version etime that is supposed to mimic etime( ) as found in gfortran. However, this looks like it is not working properly. Look in windows/etime.f and debug from there.
I notice that the Intel compiler has a second scheme, viz. dsecnd( )/second( ) for accomplishing the same thing so that may be an easier substitution for date_and_time( ); i.e. change:
tarry(1) = 60.d0*(min + 60.d0*hr) + sec - tim0
to
tarray(1) = second( )
and comment out the call to date_and_time( ) as well as the string parsing calls to vinput( ).