10 |
C ================================================================== |
C ================================================================== |
11 |
C SUBROUTINE FLT_WRITE_PICKUP |
C SUBROUTINE FLT_WRITE_PICKUP |
12 |
C ================================================================== |
C ================================================================== |
|
C |
|
13 |
C o This routine writes the actual float positions to a local files |
C o This routine writes the actual float positions to a local files |
14 |
C that can be used as restarts |
C that can be used as restarts |
|
C |
|
|
C ================================================================== |
|
|
C SUBROUTINE FLT_WRITE_PICKUP |
|
15 |
C ================================================================== |
C ================================================================== |
16 |
|
|
17 |
C == global variables == |
C !USES: |
18 |
|
IMPLICIT NONE |
19 |
|
|
20 |
#include "EEPARAMS.h" |
C == global variables == |
21 |
#include "SIZE.h" |
#include "SIZE.h" |
22 |
|
#include "EEPARAMS.h" |
23 |
#include "PARAMS.h" |
#include "PARAMS.h" |
24 |
#include "FLT.h" |
#include "FLT.h" |
25 |
|
|
52 |
npart_dist = 0. |
npart_dist = 0. |
53 |
|
|
54 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
55 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
56 |
|
|
57 |
C the standard routine mdswritevector can be used here |
C the standard routine mdswritevector can be used here |
58 |
C (1) write actual number floats and time into file |
C (1) write actual number floats and time into file |
69 |
CALL MDSWRITEVECTOR( fn, precFloat64, .FALSE., 'RL', |
CALL MDSWRITEVECTOR( fn, precFloat64, .FALSE., 'RL', |
70 |
& imax,tmp, bi,bj, 1, myIter,myThid ) |
& imax,tmp, bi,bj, 1, myIter,myThid ) |
71 |
|
|
72 |
DO ip=1,npart_tile(bi,bj) |
DO ip=1,npart_tile(bi,bj) |
73 |
|
|
74 |
tmp(1) = npart(ip,bi,bj) |
tmp(1) = npart(ip,bi,bj) |
75 |
tmp(2) = tstart(ip,bi,bj) |
tmp(2) = tstart(ip,bi,bj) |
87 |
CALL MDSWRITEVECTOR( fn, precFloat64, .FALSE., 'RL', |
CALL MDSWRITEVECTOR( fn, precFloat64, .FALSE., 'RL', |
88 |
& imax,tmp, bi,bj,ip+1, myIter,myThid ) |
& imax,tmp, bi,bj,ip+1, myIter,myThid ) |
89 |
|
|
90 |
ENDDO |
ENDDO |
91 |
|
|
92 |
npart_dist = npart_dist + DBLE(npart_tile(bi,bj)) |
npart_dist = npart_dist + DBLE(npart_tile(bi,bj)) |
93 |
|
|
94 |
ENDDO |
ENDDO |
95 |
ENDDO |
ENDDO |
96 |
|
|
97 |
_GLOBAL_SUM_R8( npart_dist, myThid ) |
_GLOBAL_SUM_R8( npart_dist, myThid ) |