xref: /phasta/phSolver/compressible/wtime.f (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1      subroutine wtime
2
3      include "common.h"
4      include "mpif.h"
5      include "auxmpi.h"
6
7      character*5 cname
8
9      dimension timeg(100,numpe)
10
11      if (numpe > 1) then
12      CALL MPI_GATHER (ttim, 100, MPI_DOUBLE_PRECISION, timeg, 100,
13     &                 MPI_DOUBLE_PRECISION, master,
14     &                 MPI_COMM_WORLD, ierr)
15      endif
16      if (myrank .eq. master) then
17
18      ftime = trim(ftime) // cname(lstep)
19
20      open (itime, file=ftime, form='formatted')
21
22      write (itime,101) 'Tcore cpu/wc: ',ttim(1), ttim(2)
23      write (itime,100) 'local       : ',ttim(3) ,ttim(3) /ttim(2)
24      write (itime,100) 'global      : ',ttim(4) ,ttim(4) /ttim(2)
25      write (itime,100) 'communic.   : ',ttim(5) ,ttim(5) /ttim(2)
26      write (itime,100)
27      write (itime,100) 'e3q         : ',ttim(33),ttim(33)/ttim(2)
28      write (itime,100) '  e3qvar    : ',ttim(34),ttim(34)/ttim(2)
29      write (itime,100) 'e3 outside  : ',ttim(31),ttim(31)/ttim(2)
30      write (itime,100) 'e3          : ',ttim(6) ,ttim(6) /ttim(2)
31      write (itime,100) 'e3ivar out  : ',ttim(8), ttim(8) /ttim(2)
32      write (itime,100) 'e3ivar      : ',ttim(20),ttim(20)/ttim(2)
33      write (itime,100) '  dui       : ',ttim(10),ttim(10)/ttim(2)
34      write (itime,100) '  prim vars : ',ttim(11),ttim(11)/ttim(2)
35      write (itime,100) '  acc       : ',ttim(12),ttim(12)/ttim(2)
36      write (itime,100) '  therm prop: ',ttim(27),ttim(27)/ttim(2)
37      write (itime,100) '  dxidx     : ',ttim(26),ttim(26)/ttim(2)
38      write (itime,100) '  shape grad: ',ttim(13),ttim(13)/ttim(2)
39      write (itime,100) '  grad Y    : ',ttim(7), ttim(7) /ttim(2)
40      write (itime,100) '  div (qi)  : ',ttim(32),ttim(32)/ttim(2)
41      write (itime,100) 'e3mtrx out  : ',ttim(9) ,ttim(9) /ttim(2)
42      write (itime,100) 'e3mtrx      : ',ttim(21),ttim(21)/ttim(2)
43      write (itime,100) 'e3conv out  : ',ttim(14),ttim(14)/ttim(2)
44      write (itime,100) 'e3conv      : ',ttim(22),ttim(22)/ttim(2)
45      write (itime,100) 'e3visc out  : ',ttim(15),ttim(15)/ttim(2)
46      write (itime,100) 'e3visc      : ',ttim(23),ttim(23)/ttim(2)
47      write (itime,100) 'e3LS  out   : ',ttim(16),ttim(16)/ttim(2)
48      write (itime,100) 'e3LS        : ',ttim(24),ttim(24)/ttim(2)
49      write (itime,100) '  e3tau     : ',ttim(25),ttim(25)/ttim(2)
50      write (itime,100) 'e3juel out  : ',ttim(17),ttim(17)/ttim(2)
51      write (itime,100) 'e3juel      : ',ttim(28),ttim(28)/ttim(2)
52      write (itime,100) 'e3bdg  out  : ',ttim(18),ttim(18)/ttim(2)
53      write (itime,100) 'e3bdg       : ',ttim(30),ttim(30)/ttim(2)
54      write (itime,100) 'e3assm out  : ',ttim(19),ttim(19)/ttim(2)
55      write (itime,100) 'e3assm      : ',ttim(29),ttim(29)/ttim(2)
56      write (itime,100)
57      write (itime,100) 'e3b         : ',ttim(40),ttim(40)/ttim(2)
58      write (itime,100) 'e3nref      : ',ttim(42),ttim(42)/ttim(2)
59      write (itime,100)
60      ttim(50) = ttim(51) + ttim(52) + ttim(53)
61      write (itime,100) 'bc          : ',ttim(50),ttim(50)/ttim(2)
62      write (itime,100) '  bc3res    : ',ttim(51),ttim(51)/ttim(2)
63      write (itime,100) '  bcbdg     : ',ttim(52),ttim(52)/ttim(2)
64      write (itime,100) '  itrbc     : ',ttim(53),ttim(53)/ttim(2)
65      write (itime,100)
66      write (itime,100) 'vy          : ',ttim(55),ttim(55)/ttim(2)
67      write (itime,100) 'vq          : ',ttim(56),ttim(56)/ttim(2)
68      write (itime,100)
69      write (itime,100) 'getdmc      : ',ttim(60),ttim(60)/ttim(2)
70      write (itime,100) 'sumgat-wait : ',ttim(61),ttim(61)/ttim(2)
71      write (itime,100) 'sumgat-work : ',ttim(62),ttim(62)/ttim(2)
72      write (itime,100) 'gerbar (cur): ',ttim(64),ttim(64)/ttim(2)
73      write (itime,100) 'sponge      : ',ttim(66),ttim(66)/ttim(2)
74      write (itime,100) 'rstat-wait  : ',ttim(67),ttim(61)/ttim(2)
75      write (itime,100) 'rstat-work  : ',ttim(68),ttim(62)/ttim(2)
76      write (itime,100)
77      write (itime,100) 'barrier 1   : ',ttim(71),ttim(71)/ttim(2)
78      write (itime,100) 'barrier 2   : ',ttim(72),ttim(72)/ttim(2)
79      write (itime,100)
80      write (itime,100) 'blocs elmmfg: ',ttim(80),ttim(80)/ttim(2)
81      write (itime,100) 'blocs itrres: ',ttim(81),ttim(81)/ttim(2)
82
83      write (itime,100)
84      write (itime,100) 'Temps min/max:'
85      write (itime,100)
86      write (itime,101) '1 :', MINVAL(timeg(1 ,:)), MAXVAL(timeg(1 ,:))
87      write (itime,101) '2 :', MINVAL(timeg(2 ,:)), MAXVAL(timeg(2 ,:))
88      write (itime,101) '3 :', MINVAL(timeg(3 ,:)), MAXVAL(timeg(3 ,:))
89      write (itime,101) '4 :', MINVAL(timeg(4 ,:)), MAXVAL(timeg(4 ,:))
90      write (itime,101) '5 :', MINVAL(timeg(5 ,:)), MAXVAL(timeg(5 ,:))
91      write (itime,101) '6 :', MINVAL(timeg(6 ,:)), MAXVAL(timeg(6 ,:))
92      write (itime,101) '20:', MINVAL(timeg(20,:)), MAXVAL(timeg(20,:))
93      write (itime,101) '21:', MINVAL(timeg(21,:)), MAXVAL(timeg(21,:))
94      write (itime,101) '22:', MINVAL(timeg(22,:)), MAXVAL(timeg(22,:))
95      write (itime,101) '23:', MINVAL(timeg(23,:)), MAXVAL(timeg(23,:))
96      write (itime,101) '24:', MINVAL(timeg(24,:)), MAXVAL(timeg(24,:))
97      write (itime,101) '25:', MINVAL(timeg(25,:)), MAXVAL(timeg(25,:))
98      write (itime,101) '26:', MINVAL(timeg(26,:)), MAXVAL(timeg(26,:))
99      write (itime,101) '27:', MINVAL(timeg(27,:)), MAXVAL(timeg(27,:))
100      write (itime,101) '28:', MINVAL(timeg(28,:)), MAXVAL(timeg(28,:))
101      write (itime,101) '29:', MINVAL(timeg(29,:)), MAXVAL(timeg(29,:))
102      write (itime,101) '30:', MINVAL(timeg(30,:)), MAXVAL(timeg(30,:))
103      write (itime,101) '40:', MINVAL(timeg(40,:)), MAXVAL(timeg(40,:))
104      write (itime,101) '42:', MINVAL(timeg(42,:)), MAXVAL(timeg(42,:))
105      write (itime,101) '50:', MINVAL(timeg(50,:)), MAXVAL(timeg(50,:))
106      write (itime,101) '55:', MINVAL(timeg(55,:)), MAXVAL(timeg(55,:))
107      write (itime,101) '60:', MINVAL(timeg(60,:)), MAXVAL(timeg(60,:))
108      write (itime,101) '61:', MINVAL(timeg(61,:)), MAXVAL(timeg(61,:))
109      write (itime,101) '62:', MINVAL(timeg(62,:)), MAXVAL(timeg(62,:))
110      write (itime,101) '64:', MINVAL(timeg(64,:)), MAXVAL(timeg(64,:))
111      write (itime,101) '66:', MINVAL(timeg(66,:)), MAXVAL(timeg(66,:))
112      write (itime,101) '67:', MINVAL(timeg(67,:)), MAXVAL(timeg(67,:))
113      write (itime,101) '68:', MINVAL(timeg(68,:)), MAXVAL(timeg(68,:))
114      write (itime,101) '71:', MINVAL(timeg(71,:)), MAXVAL(timeg(71,:))
115      write (itime,101) '72:', MINVAL(timeg(72,:)), MAXVAL(timeg(72,:))
116      write (itime,101) '80:', MINVAL(timeg(80,:)), MAXVAL(timeg(80,:))
117      write (itime,101) '81:', MINVAL(timeg(81,:)), MAXVAL(timeg(81,:))
118
119      write (itime,100)
120      write (itime,100) 'Temps detail:'
121      write (itime,100)
122      write (itime,100) 'Tcore-cpu: ',timeg(1 ,:)
123      write (itime,100) 'Tcore-wc : ',timeg(2 ,:)
124      write (itime,100) 'local    : ',timeg(3 ,:)
125      write (itime,100) 'global   : ',timeg(4 ,:)
126      write (itime,100) 'commu    : ',timeg(5 ,:)
127      write (itime,100) 'e3       : ',timeg(6 ,:)
128      write (itime,100) 'e3ivar   : ',timeg(20,:)
129      write (itime,100) 'e3mtrx   : ',timeg(21,:)
130      write (itime,100) 'e3conv   : ',timeg(22,:)
131      write (itime,100) 'e3visc   : ',timeg(23,:)
132      write (itime,100) 'e3LS     : ',timeg(24,:)
133      write (itime,100) 'e3tau    : ',timeg(25,:)
134      write (itime,100) 'e3eig1   : ',timeg(26,:)
135      write (itime,100) 'e3eig2   : ',timeg(27,:)
136      write (itime,100) 'e3juel   : ',timeg(28,:)
137      write (itime,100) 'e3assm   : ',timeg(29,:)
138      write (itime,100) 'e3bdg    : ',timeg(30,:)
139      write (itime,100) 'e3b      : ',timeg(40,:)
140      write (itime,100) 'e3nref   : ',timeg(42,:)
141      write (itime,100) 'bc       : ',timeg(50,:)
142      write (itime,100) 'vy       : ',timeg(55,:)
143      write (itime,100) 'getdmc   : ',timeg(60,:)
144      write (itime,100) 'sumgat-wa: ',timeg(61,:)
145      write (itime,100) 'sumgat-wo: ',timeg(62,:)
146      write (itime,100) 'gerbar   : ',timeg(64,:)
147      write (itime,100) 'sponge   : ',timeg(66,:)
148      write (itime,100) 'rstat-wai: ',timeg(67,:)
149      write (itime,100) 'rstat-wor: ',timeg(68,:)
150      write (itime,100) 'barrier 1: ',timeg(71,:)
151      write (itime,100) 'barrier 2: ',timeg(72,:)
152      write (itime,100) 'bl-elmmfg: ',timeg(80,:)
153      write (itime,100) 'bl-itrres: ',timeg(81,:)
154
155      close (itime)
156
157      endif
158
159100   format (1X,A,G14.6,F9.5)
160101   format (1X,A,G14.6,G14.6)
161
162      return
163      end
164