2 c---------------------------------------------------------------------
3 c---------------------------------------------------------------------
7 c---------------------------------------------------------------------
8 c---------------------------------------------------------------------
13 character*(128) newfilenm
16 if (node .lt. 10000) then
17 write (newfilenm, 996) filenm,node
19 print *, 'error generating file names (> 10000 nodes)'
23 996 format (a,'.',i4.4)
25 open (unit=99, file=newfilenm, form='unformatted',
37 c---------------------------------------------------------------------
38 c---------------------------------------------------------------------
40 subroutine output_timestep
42 c---------------------------------------------------------------------
43 c---------------------------------------------------------------------
47 integer ix, iio, jio, kio, cio, aio
51 $ ((((u(aio,ix, jio,kio,cio),aio=1,5),
52 $ ix=0, cell_size(1,cio)-1),
53 $ jio=0, cell_size(2,cio)-1),
54 $ kio=0, cell_size(3,cio)-1)
57 idump_sub = idump_sub + 1
58 if (rd_interval .gt. 0) then
59 if (idump_sub .ge. rd_interval) then
62 call acc_sub_norms(idump+1)
72 c---------------------------------------------------------------------
73 c---------------------------------------------------------------------
75 subroutine acc_sub_norms(idump_cur)
82 integer ix, jio, kio, cio, ii, m, ichunk
83 double precision xce_single(5)
85 ichunk = idump_cur - idump_sub + 1
89 $ ((((u(m,ix, jio,kio,cio),m=1,5),
90 $ ix=0, cell_size(1,cio)-1),
91 $ jio=0, cell_size(2,cio)-1),
92 $ kio=0, cell_size(3,cio)-1)
95 if (node .eq. root) print *, 'Reading data set ', ii+ichunk
97 call error_norm(xce_single)
99 xce_sub(m) = xce_sub(m) + xce_single(m)
106 c---------------------------------------------------------------------
107 c---------------------------------------------------------------------
109 subroutine btio_cleanup
111 c---------------------------------------------------------------------
112 c---------------------------------------------------------------------
119 c---------------------------------------------------------------------
120 c---------------------------------------------------------------------
122 subroutine accumulate_norms(xce_acc)
124 c---------------------------------------------------------------------
125 c---------------------------------------------------------------------
130 double precision xce_acc(5)
132 character*(128) newfilenm
135 if (rd_interval .gt. 0) goto 20
137 if (node .lt. 10000) then
138 write (newfilenm, 996) filenm,node
140 print *, 'error generating file names (> 10000 nodes)'
144 996 format (a,'.',i4.4)
146 open (unit=99, file=newfilenm,
147 $ form='unformatted')
149 c clear the last time step
153 c read back the time steps and accumulate norms
155 call acc_sub_norms(idump)
161 xce_acc(m) = xce_sub(m) / dble(idump)