subroutine write_logfile() use params, only : datapath character(len=500) filename character(len=72) timestring filename = trim(datapath)//'enkf.log' open(99,file=filename,form='formatted') call timestamp(timestring) write(99,*) 'enkf completed '//trim(timestring) close(99) end subroutine write_logfile subroutine timestamp (timestring) implicit none character ( len=72), intent(out) :: timestring integer ( kind = 4 ) d character ( len = 8 ) date integer ( kind = 4 ) h integer ( kind = 4 ) m integer ( kind = 4 ) mm character ( len = 9 ), parameter, dimension(12) :: month = (/ & 'January ', 'February ', 'March ', 'April ', & 'May ', 'June ', 'July ', 'August ', & 'September', 'October ', 'November ', 'December ' /) integer ( kind = 4 ) n integer ( kind = 4 ) s character ( len = 10 ) time integer ( kind = 4 ) values(8) integer ( kind = 4 ) y character ( len = 5 ) zone call date_and_time ( date, time, zone, values ) y = values(1) m = values(2) d = values(3) h = values(5) n = values(6) s = values(7) mm = values(8) write ( timestring, '(a,1x,i2,1x,i4,2x,i2.2,a1,i2.2,a1,i2.2,a1,i3.3,1x,a)' ) & trim ( month(m) ), d, y, h, ':', n, ':', s, '.', mm, trim(zone) return end