Does anyone know of an way to sleep for a given number of milliseconds in Fortran? I do not want to use non-portable system calls so anything intrinsic to Fortran or C librarie
! This is another option of making your fortran code to wait for x seconds
Integer :: iStart, iNew
Real*8 :: rWait, rDT
! rWait: seconds that you want to wait for; you can also set this as an (IN)
! variable if this code goes into a subroutine that is developed to be called
! from any part of the program.
rWait = 1.d0; rDT = 0.d0
call system_clock (iStart)
do while (rDT <= rWait)
call system_clock (iNew)
rDT = floatj (iNew - iStart) / 10000.d0
enddo