The main documentation of the Get_Wall_Clock_Time Procedure contains additional explanation of this code listing.
function Get_Wall_Clock_Time () result(Wall_Clock_Time) ! Use association information. use Caesar_Numbers_Module, only: milli ! Output variable. ! Wall Clock time counter in seconds. type(real) :: Wall_Clock_Time ! Internal variables. ! Date and Time array for intrinsic F95 call. type(integer), dimension(8) :: Date_Time type(integer):: Day ! Julian Day for this date. type(integer) :: Seconds ! Julian Seconds for this time. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements - none. ! Intrinsic F95 call to get date and time info. call DATE_AND_TIME (VALUES=Date_Time) ! Calculate Julian day for this date. Day = Julian_Day(Date_Time(1), Date_Time(2), Date_Time(3)) ! Convert into a number of seconds. Seconds = ((Day*24 + & ! Days. Date_Time(5))*60 + & ! Hours. Date_Time(6))*60 + & ! Minutes. Date_Time(7) ! Seconds. ! Add in milliseconds to get the final Wall Clock time. Wall_Clock_Time = changetype(real,Seconds) + & milli*Date_Time(8) ! Milliseconds. ! Verify guarantees - none. return end function Get_Wall_Clock_Time