51 |
integer imin,imax |
integer imin,imax |
52 |
integer irec,nrec_nl |
integer irec,nrec_nl |
53 |
|
|
54 |
_RL globfld2d( snx,sny,nsx,nsy ) |
_RL globfld2d( snx,nsx,npx,sny,nsy,npy ) |
55 |
_RL globfld3d( snx,sny,nr,nsx,nsy ) |
_RL globfld3d( snx,nsx,npx,sny,nsy,npy,nr ) |
56 |
|
|
57 |
c == external == |
c == external == |
58 |
|
|
68 |
imax = snx |
imax = snx |
69 |
|
|
70 |
c Initialise temporary file |
c Initialise temporary file |
71 |
|
do jp = 1,nPy |
72 |
do bj = jtlo,jthi |
do bj = jtlo,jthi |
73 |
do j = jmin,jmax |
do j = jmin,jmax |
74 |
|
do ip = 1,nPx |
75 |
do bi = itlo,ithi |
do bi = itlo,ithi |
76 |
do i = imin,imax |
do i = imin,imax |
77 |
globfld2d(i,j,bi,bj) = 0. _d 0 |
globfld2d(i,bi,ip,j,bj,jp) = 0. _d 0 |
78 |
enddo |
enddo |
79 |
|
enddo |
80 |
enddo |
enddo |
81 |
enddo |
enddo |
82 |
|
enddo |
83 |
enddo |
enddo |
84 |
c Initialise temporary file |
c Initialise temporary file |
85 |
do k = 1,nr |
do k = 1,nr |
86 |
|
do jp = 1,nPy |
87 |
do bj = jtlo,jthi |
do bj = jtlo,jthi |
88 |
do j = jmin,jmax |
do j = jmin,jmax |
89 |
|
do ip = 1,nPx |
90 |
do bi = itlo,ithi |
do bi = itlo,ithi |
91 |
do i = imin,imax |
do i = imin,imax |
92 |
globfld3d(i,j,k,bi,bj) = 0. _d 0 |
globfld3d(i,bi,ip,j,bj,jp,k) = 0. _d 0 |
93 |
enddo |
enddo |
94 |
enddo |
enddo |
95 |
|
enddo |
96 |
enddo |
enddo |
97 |
enddo |
enddo |
98 |
|
enddo |
99 |
enddo |
enddo |
100 |
|
|
101 |
c-- Only the master thread will do I/O. |
c-- Only the master thread will do I/O. |
103 |
|
|
104 |
nrec_nl=int(ncvarrecs(ivartype)/Nr) |
nrec_nl=int(ncvarrecs(ivartype)/Nr) |
105 |
do irec = 1, nrec_nl |
do irec = 1, nrec_nl |
106 |
call MDSWRITEFIELD( fname, ctrlprec, .FALSE., 'RL', |
call MDSWRITEFIELD_3D_GL( fname, ctrlprec, 'RL', |
107 |
& Nr, globfld3d, |
& Nr, globfld3d, |
108 |
& irec, optimcycle, mythid) |
& irec, optimcycle, mythid) |
109 |
enddo |
enddo |
110 |
|
|
111 |
CMM( add one for good measure |
do irec = nrec_nl*Nr+1, ncvarrecs(ivartype) |
112 |
CMM do irec = nrec_nl*Nr+1, ncvarrecs(ivartype) |
call MDSWRITEFIELD_2D_GL( fname, ctrlprec, 'RL', |
|
do irec = nrec_nl*Nr+1, ncvarrecs(ivartype)+1 |
|
|
CMM) |
|
|
call MDSWRITEFIELD( fname, ctrlprec, .FALSE., 'RL', |
|
113 |
& 1, globfld2d, |
& 1, globfld2d, |
114 |
& irec, optimcycle, mythid) |
& irec, optimcycle, mythid) |
115 |
enddo |
enddo |