File: N:\mfix\model\write_out3.f

1     !vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv!
2     !                                                                      !
3     !  Module name: WRITE_OUT3                                             !
4     !  Author: M. Syamlal                                 Date: 10-JAN-92  !
5     !                                                                      !
6     !  Purpose: To write cpu and wall time used by the code                !
7     !                                                                      !
8     !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!
9           SUBROUTINE WRITE_OUT3(CPU, WALL, IO)
10     
11           use error_manager
12           use run, only: get_tunit
13     
14           IMPLICIT NONE
15     
16           DOUBLE PRECISION, INTENT(INOUT) :: CPU
17           DOUBLE PRECISION, INTENT(INOUT) :: WALL
18           DOUBLE PRECISION, INTENT(INOUT) :: IO
19     !-----------------------------------------------
20     !   L o c a l   P a r a m e t e r s
21     !-----------------------------------------------
22     !-----------------------------------------------
23     
24     
25           CHARACTER(len=4) :: UNIT_CPU
26           CHARACTER(len=4) :: UNIT_WALL
27           CHARACTER(len=4) :: UNIT_IO
28     
29     
30           WRITE(ERR_MSG, "(2/1x,70('*'))")
31           CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
32     
33           CALL GET_TUNIT(CPU, UNIT_CPU)
34           WRITE(ERR_MSG, 1000) 'CPU', trim(iVal(CPU)), UNIT_CPU
35           CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
36     
37           CALL GET_TUNIT(IO, UNIT_IO)
38           WRITE(ERR_MSG, 1000) 'CPU IO', trim(iVal(IO)), UNIT_IO
39           CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
40     
41           CALL GET_TUNIT(WALL, UNIT_WALL)
42           WRITE(ERR_MSG, 1000) 'wall time', trim(iVal(WALL)), UNIT_WALL
43           CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
44     
45           WRITE(ERR_MSG, "(1x,70('*'))")
46           CALL FLUSH_ERR_MSG(HEADER=.FALSE., FOOTER=.FALSE.)
47     
48      1000 FORMAT(' Total ',A,' used = ',A,1x,A)
49     
50           RETURN
51           END SUBROUTINE WRITE_OUT3
52