/[MITgcm]/MITgcm/pkg/flt/flt_exchg.F
ViewVC logotype

Annotation of /MITgcm/pkg/flt/flt_exchg.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Thu Sep 13 17:43:55 2001 UTC (22 years, 8 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint51k_post, checkpoint47e_post, checkpoint52l_pre, checkpoint44e_post, hrcube4, hrcube5, checkpoint46l_post, checkpoint46g_pre, checkpoint47c_post, release1_p13_pre, checkpoint50c_post, checkpoint46f_post, checkpoint52d_pre, checkpoint48e_post, checkpoint50c_pre, checkpoint44f_post, checkpoint46b_post, checkpoint52j_pre, checkpoint43a-release1mods, checkpoint51o_pre, checkpoint54d_post, checkpoint54e_post, ecco_c50_e32, ecco_c50_e33, ecco_c50_e30, ecco_c50_e31, release1_p13, checkpoint51l_post, checkpoint48i_post, checkpoint46l_pre, checkpoint52l_post, checkpoint52k_post, chkpt44d_post, checkpoint54, checkpoint51, checkpoint50, checkpoint53, checkpoint52, release1_p8, release1_p9, checkpoint50d_post, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, release1_p7, checkpoint52f_post, checkpoint50b_pre, checkpoint44e_pre, checkpoint51f_post, release1_b1, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, checkpoint48b_post, checkpoint43, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint51t_post, checkpoint51n_post, release1_chkpt44d_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint47a_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint52e_pre, checkpoint52e_post, checkpoint51n_pre, checkpoint47d_post, icebear5, icebear4, icebear3, icebear2, checkpoint53d_post, checkpoint46d_pre, checkpoint48d_post, release1-branch_tutorials, checkpoint48f_post, checkpoint45d_post, checkpoint52b_pre, checkpoint54b_post, checkpoint46j_pre, checkpoint51l_pre, checkpoint52m_post, chkpt44a_post, checkpoint44h_pre, checkpoint48h_post, checkpoint51q_post, ecco_c50_e29, checkpoint51b_pre, checkpoint46a_post, checkpoint47g_post, checkpoint52b_post, checkpoint52c_post, checkpoint46j_post, checkpoint51h_pre, checkpoint46k_post, ecco_c50_e28, chkpt44c_pre, checkpoint48a_post, checkpoint45a_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint52f_pre, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, release1_p12, release1_p10, release1_p11, release1_p16, release1_p17, release1_p14, release1_p15, checkpoint47j_post, checkpoint54a_pre, ecco_c50_e33a, checkpoint53c_post, branch-exfmods-tag, checkpoint44g_post, branchpoint-genmake2, checkpoint54a_post, checkpoint46e_pre, checkpoint51r_post, checkpoint48c_post, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, release1-branch-end, release1_final_v1, checkpoint51b_post, checkpoint51c_post, checkpoint46c_pre, checkpoint53a_post, checkpoint46, checkpoint47b_post, checkpoint44b_post, ecco_c51_e34, checkpoint46h_pre, checkpoint52d_post, checkpoint53g_post, checkpoint46m_post, checkpoint46a_pre, checkpoint50g_post, checkpoint45c_post, ecco_ice2, ecco_ice1, checkpoint44h_post, checkpoint46g_post, release1_p12_pre, checkpoint52a_pre, ecco_c44_e22, checkpoint50h_post, checkpoint52i_post, checkpoint50e_pre, checkpoint50i_post, ecco_c44_e25, checkpoint51i_pre, checkpoint52h_pre, checkpoint53f_post, checkpoint52j_post, checkpoint47f_post, checkpoint50e_post, chkpt44a_pre, checkpoint46i_post, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, checkpoint46c_post, ecco-branch-mod1, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, branch-netcdf, checkpoint50d_pre, checkpoint52n_post, checkpoint53b_pre, checkpoint46e_post, release1_beta1, checkpoint51e_post, checkpoint44b_pre, checkpoint42, checkpoint40, checkpoint41, checkpoint47, checkpoint44, checkpoint45, checkpoint48, checkpoint49, checkpoint46h_post, checkpoint51o_post, checkpoint51f_pre, chkpt44c_post, checkpoint48g_post, checkpoint53b_post, checkpoint47h_post, checkpoint52a_post, checkpoint44f_pre, checkpoint51g_post, ecco_c52_e35, checkpoint46d_post, checkpoint50b_post, release1-branch_branchpoint, checkpoint51m_post, checkpoint53d_pre, checkpoint54c_post, checkpoint51a_post, checkpoint51p_post, checkpoint51u_post
Branch point for: c24_e25_ice, branch-exfmods-curt, release1_final, release1-branch, branch-genmake2, release1, branch-nonh, tg2-branch, ecco-branch, release1_50yr, netcdf-sm0, icebear, checkpoint51n_branch, release1_coupled
Added package "flt".
 o pkg/flt
 o verification/flt_example
 o visualization of trajectories supplied
 o works but output not available to testscript

1 adcroft 1.1 C $Header: $
2     C $Name: $
3    
4     #include "FLT_CPPOPTIONS.h"
5    
6     subroutine flt_exchg (
7     I myCurrentIter,
8     I myCurrentTime,
9     I myThid
10     & )
11    
12     c ==================================================================
13     c SUBROUTINE flt_exchg
14     c ==================================================================
15     c
16     c o
17     c
18     c ==================================================================
19     c SUBROUTINE flt_exchg
20     c ==================================================================
21    
22     c == global variables ==
23    
24     #include "SIZE.h"
25     #include "EEPARAMS.h"
26     #include "EESUPPORT.h"
27     #include "EXCH.h"
28     #include "FLT.h"
29     #include "GRID.h"
30     #include "PARAMS.h"
31    
32     c == routine arguments ==
33    
34     INTEGER myCurrentIter, myThid
35     _RL myCurrentTime
36     INTEGER bi, bj, ic
37     character*(max_len_mbuf) msgbuf
38    
39     c == local variables ==
40    
41     integer ip
42     integer icountE, icountW, icountN, icountS
43     _RL xx, yy
44     INTEGER imax, imax2, m, iG, jG
45     _RL xlo, xhi, ylo, yhi
46     parameter(imax=9)
47     parameter(imax2=imax*max_npart_exch)
48    
49     c buffer for sending/receiving variables (E/W are also used for S/N)
50     _RL fltbuf_sendE(imax2,nSx,nSy)
51     _RL fltbuf_sendW(imax2,nSx,nSy)
52     _RL fltbuf_recvE(imax2,nSx,nSy)
53     _RL fltbuf_recvW(imax2,nSx,nSy)
54    
55     _RL npart_dist
56     c == end of interface ==
57    
58     C-- Choose floats that have to exchanged with eastern and western tiles
59     C and pack to arrays
60    
61    
62     DO bj=myByLo(myThid),myByHi(myThid)
63     DO bi=myBxLo(myThid),myBxHi(myThid)
64    
65     c initialize buffers
66    
67     do m=1,imax2
68     fltbuf_sendE(m,bi,bj) = 0.
69     fltbuf_sendW(m,bi,bj) = 0.
70     fltbuf_recvE(m,bi,bj) = 0.
71     fltbuf_recvW(m,bi,bj) = 0.
72     enddo
73    
74     icountE=0
75     icountW=0
76    
77     iG = myXGlobalLo + (bi-1)*sNx
78     xlo = xc(1, 1, bi,bj) - delX(iG)
79     xhi = xc(sNx,1,bi,bj) + delX(iG+sNx-1)
80     c
81     do ip=1,npart_tile(bi,bj)
82     c
83     if (xpart(ip,bi,bj) .ge. xhi) then
84     icountE=icountE+1
85     if (icountE .gt. max_npart_exch)
86     & stop ' max_npart_exch too low. stop in flt_exchg'
87    
88     ic=(icountE-1)*imax
89     fltbuf_sendE(ic+1,bi,bj) = npart(ip,bi,bj)
90     fltbuf_sendE(ic+2,bi,bj) = tstart(ip,bi,bj)
91     fltbuf_sendE(ic+3,bi,bj) = xpart(ip,bi,bj)
92     fltbuf_sendE(ic+4,bi,bj) = ypart(ip,bi,bj)
93     fltbuf_sendE(ic+5,bi,bj) = kpart(ip,bi,bj)
94     fltbuf_sendE(ic+6,bi,bj) = kfloat(ip,bi,bj)
95     fltbuf_sendE(ic+7,bi,bj) = iup(ip,bi,bj)
96     fltbuf_sendE(ic+8,bi,bj) = itop(ip,bi,bj)
97     fltbuf_sendE(ic+9,bi,bj) = tend(ip,bi,bj)
98    
99     npart(ip,bi,bj) = npart(npart_tile(bi,bj),bi,bj)
100     tstart(ip,bi,bj) = tstart(npart_tile(bi,bj),bi,bj)
101     xpart(ip,bi,bj) = xpart(npart_tile(bi,bj),bi,bj)
102     ypart(ip,bi,bj) = ypart(npart_tile(bi,bj),bi,bj)
103     kpart(ip,bi,bj) = kpart(npart_tile(bi,bj),bi,bj)
104     kfloat(ip,bi,bj) = kfloat(npart_tile(bi,bj),bi,bj)
105     iup(ip,bi,bj) = iup(npart_tile(bi,bj),bi,bj)
106     itop(ip,bi,bj) = itop(npart_tile(bi,bj),bi,bj)
107     tend(ip,bi,bj) = tend(npart_tile(bi,bj),bi,bj)
108    
109     npart_tile(bi,bj) = npart_tile(bi,bj) - 1
110    
111     endif
112    
113     if (xpart(ip,bi,bj) .le. xlo) then
114     icountW=icountW+1
115     if (icountW .gt. max_npart_exch)
116     & stop ' max_npart_exch too low. stop in flt_exchg'
117    
118     ic=(icountW-1)*imax
119     fltbuf_sendW(ic+1,bi,bj) = npart(ip,bi,bj)
120     fltbuf_sendW(ic+2,bi,bj) = tstart(ip,bi,bj)
121     fltbuf_sendW(ic+3,bi,bj) = xpart(ip,bi,bj)
122     fltbuf_sendW(ic+4,bi,bj) = ypart(ip,bi,bj)
123     fltbuf_sendW(ic+5,bi,bj) = kpart(ip,bi,bj)
124     fltbuf_sendW(ic+6,bi,bj) = kfloat(ip,bi,bj)
125     fltbuf_sendW(ic+7,bi,bj) = iup(ip,bi,bj)
126     fltbuf_sendW(ic+8,bi,bj) = itop(ip,bi,bj)
127     fltbuf_sendW(ic+9,bi,bj) = tend(ip,bi,bj)
128    
129     npart(ip,bi,bj) = npart(npart_tile(bi,bj),bi,bj)
130     tstart(ip,bi,bj) = tstart(npart_tile(bi,bj),bi,bj)
131     xpart(ip,bi,bj) = xpart(npart_tile(bi,bj),bi,bj)
132     ypart(ip,bi,bj) = ypart(npart_tile(bi,bj),bi,bj)
133     kpart(ip,bi,bj) = kpart(npart_tile(bi,bj),bi,bj)
134     kfloat(ip,bi,bj) = kfloat(npart_tile(bi,bj),bi,bj)
135     iup(ip,bi,bj) = iup(npart_tile(bi,bj),bi,bj)
136     itop(ip,bi,bj) = itop(npart_tile(bi,bj),bi,bj)
137     tend(ip,bi,bj) = tend(npart_tile(bi,bj),bi,bj)
138    
139     npart_tile(bi,bj) = npart_tile(bi,bj) - 1
140    
141     endif
142    
143     enddo
144    
145    
146     ENDDO
147     ENDDO
148    
149     C-- "Put" east and west edges.
150     CALL EXCH_RL_SEND_PUT_VEC_X( fltbuf_sendE, fltbuf_sendW,
151     I imax2, myThid )
152     C-- Receive east/west arrays before exchanging north/south arrays
153     CALL EXCH_RL_RECV_GET_VEC_X( fltbuf_recvE, fltbuf_recvW,
154     I imax2, myThid )
155    
156     C-- Unpack arrays on new tiles
157    
158     DO bj=myByLo(myThid),myByHi(myThid)
159     DO bi=myBxLo(myThid),myBxHi(myThid)
160    
161     do ip=1,max_npart_exch
162     c
163     ic=(ip-1)*imax
164     if (fltbuf_recvE(ic+1,bi,bj) .eq. 0.) goto 100
165     npart_tile(bi,bj) = npart_tile(bi,bj) + 1
166     if (npart_tile(bi,bj) .gt. max_npart_tile)
167     & stop ' max_npart_tile too low. stop in flt_exchg'
168    
169     npart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+1,bi,bj)
170     tstart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+2,bi,bj)
171     xpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+3,bi,bj)
172     ypart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+4,bi,bj)
173     kpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+5,bi,bj)
174     kfloat(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+6,bi,bj)
175     iup(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+7,bi,bj)
176     itop(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+8,bi,bj)
177     tend(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+9,bi,bj)
178    
179     enddo
180     100 continue
181    
182     do ip=1,max_npart_exch
183     c
184     ic=(ip-1)*imax
185     if (fltbuf_recvW(ic+1,bi,bj) .eq. 0.) goto 200
186     npart_tile(bi,bj) = npart_tile(bi,bj) + 1
187     if (npart_tile(bi,bj) .gt. max_npart_tile)
188     & stop ' max_npart_tile too low. stop in flt_exchg'
189    
190     npart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+1,bi,bj)
191     tstart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+2,bi,bj)
192     xpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+3,bi,bj)
193     ypart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+4,bi,bj)
194     kpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+5,bi,bj)
195     kfloat(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+6,bi,bj)
196     iup(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+7,bi,bj)
197     itop(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+8,bi,bj)
198     itop(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+8,bi,bj)
199     tend(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+9,bi,bj)
200    
201     enddo
202     200 continue
203    
204     ENDDO
205     ENDDO
206    
207     C-- Choose floats that have to exchanged with eastern and western tiles
208     C and pack to arrays
209    
210    
211     DO bj=myByLo(myThid),myByHi(myThid)
212     DO bi=myBxLo(myThid),myBxHi(myThid)
213    
214     c initialize buffers
215    
216     do m=1,imax2
217     fltbuf_sendE(m,bi,bj) = 0.
218     fltbuf_sendW(m,bi,bj) = 0.
219     fltbuf_recvE(m,bi,bj) = 0.
220     fltbuf_recvW(m,bi,bj) = 0.
221     enddo
222    
223     icountN=0
224     icountS=0
225    
226     jG = myYGlobalLo + (bj-1)*sNy
227     ylo = yc(1, 1, bi,bj) - delY(jG)
228     yhi = yc(1,sNy,bi,bj) + delY(jG+sNy-1)
229    
230     do ip=1,npart_tile(bi,bj)
231    
232     if (ypart(ip,bi,bj) .ge. yhi) then
233     icountN=icountN+1
234     if (icountN .gt. max_npart_exch)
235     & stop ' max_npart_exch too low. stop in flt_exchg'
236    
237     ic=(icountN-1)*imax
238     fltbuf_sendE(ic+1,bi,bj) = npart(ip,bi,bj)
239     fltbuf_sendE(ic+2,bi,bj) = tstart(ip,bi,bj)
240     fltbuf_sendE(ic+3,bi,bj) = xpart(ip,bi,bj)
241     fltbuf_sendE(ic+4,bi,bj) = ypart(ip,bi,bj)
242     fltbuf_sendE(ic+5,bi,bj) = kpart(ip,bi,bj)
243     fltbuf_sendE(ic+6,bi,bj) = kfloat(ip,bi,bj)
244     fltbuf_sendE(ic+7,bi,bj) = iup(ip,bi,bj)
245     fltbuf_sendE(ic+8,bi,bj) = itop(ip,bi,bj)
246     fltbuf_sendE(ic+9,bi,bj) = tend(ip,bi,bj)
247    
248     npart(ip,bi,bj) = npart(npart_tile(bi,bj),bi,bj)
249     tstart(ip,bi,bj) = tstart(npart_tile(bi,bj),bi,bj)
250     xpart(ip,bi,bj) = xpart(npart_tile(bi,bj),bi,bj)
251     ypart(ip,bi,bj) = ypart(npart_tile(bi,bj),bi,bj)
252     kpart(ip,bi,bj) = kpart(npart_tile(bi,bj),bi,bj)
253     kfloat(ip,bi,bj) = kfloat(npart_tile(bi,bj),bi,bj)
254     iup(ip,bi,bj) = iup(npart_tile(bi,bj),bi,bj)
255     itop(ip,bi,bj) = itop(npart_tile(bi,bj),bi,bj)
256     tend(ip,bi,bj) = tend(npart_tile(bi,bj),bi,bj)
257    
258     npart_tile(bi,bj) = npart_tile(bi,bj) - 1
259     endif
260    
261     if (ypart(ip,bi,bj) .le. ylo) then
262     icountS=icountS+1
263     if (icountS .gt. max_npart_exch)
264     & stop ' max_npart_exch too low. stop in flt_exchg'
265    
266     ic=(icountS-1)*imax
267     fltbuf_sendW(ic+1,bi,bj) = npart(ip,bi,bj)
268     fltbuf_sendW(ic+2,bi,bj) = tstart(ip,bi,bj)
269     fltbuf_sendW(ic+3,bi,bj) = xpart(ip,bi,bj)
270     fltbuf_sendW(ic+4,bi,bj) = ypart(ip,bi,bj)
271     fltbuf_sendW(ic+5,bi,bj) = kpart(ip,bi,bj)
272     fltbuf_sendW(ic+6,bi,bj) = kfloat(ip,bi,bj)
273     fltbuf_sendW(ic+7,bi,bj) = iup(ip,bi,bj)
274     fltbuf_sendW(ic+8,bi,bj) = itop(ip,bi,bj)
275     fltbuf_sendW(ic+9,bi,bj) = tend(ip,bi,bj)
276    
277     npart(ip,bi,bj) = npart(npart_tile(bi,bj),bi,bj)
278     tstart(ip,bi,bj) = tstart(npart_tile(bi,bj),bi,bj)
279     xpart(ip,bi,bj) = xpart(npart_tile(bi,bj),bi,bj)
280     ypart(ip,bi,bj) = ypart(npart_tile(bi,bj),bi,bj)
281     kpart(ip,bi,bj) = kpart(npart_tile(bi,bj),bi,bj)
282     kfloat(ip,bi,bj) = kfloat(npart_tile(bi,bj),bi,bj)
283     iup(ip,bi,bj) = iup(npart_tile(bi,bj),bi,bj)
284     itop(ip,bi,bj) = itop(npart_tile(bi,bj),bi,bj)
285     tend(ip,bi,bj) = tend(npart_tile(bi,bj),bi,bj)
286    
287     npart_tile(bi,bj) = npart_tile(bi,bj) - 1
288     endif
289    
290     enddo
291    
292     ENDDO
293     ENDDO
294    
295     C "Put" north and south arrays.
296     CALL EXCH_RL_SEND_PUT_VEC_Y( fltbuf_sendE, fltbuf_sendW,
297     I imax2, myThid )
298    
299     C Receive north and south arrays
300     CALL EXCH_RL_RECV_GET_VEC_Y( fltbuf_recvE, fltbuf_recvW,
301     I imax2, myThid )
302    
303     C-- Unpack arrays on new tiles
304    
305     DO bj=myByLo(myThid),myByHi(myThid)
306     DO bi=myBxLo(myThid),myBxHi(myThid)
307    
308     do ip=1,max_npart_exch
309     c
310     ic=(ip-1)*imax
311     if (fltbuf_recvE(ic+1,bi,bj) .eq. 0.) goto 300
312     npart_tile(bi,bj) = npart_tile(bi,bj) + 1
313     if (npart_tile(bi,bj) .gt. max_npart_tile)
314     & stop ' max_npart_tile too low. stop in flt_exchg'
315    
316     npart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+1,bi,bj)
317     tstart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+2,bi,bj)
318     xpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+3,bi,bj)
319     ypart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+4,bi,bj)
320     kpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+5,bi,bj)
321     kfloat(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+6,bi,bj)
322     iup(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+7,bi,bj)
323     itop(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+8,bi,bj)
324     tend(npart_tile(bi,bj),bi,bj) = fltbuf_recvE(ic+9,bi,bj)
325    
326     enddo
327     300 continue
328    
329     do ip=1,max_npart_exch
330     c
331     ic=(ip-1)*imax
332     if (fltbuf_recvW(ic+1,bi,bj) .eq. 0.) goto 400
333     npart_tile(bi,bj) = npart_tile(bi,bj) + 1
334     if (npart_tile(bi,bj) .gt. max_npart_tile)
335     & stop ' max_npart_tile too low. stop in flt_exchg'
336    
337     npart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+1,bi,bj)
338     tstart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+2,bi,bj)
339     xpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+3,bi,bj)
340     ypart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+4,bi,bj)
341     kpart(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+5,bi,bj)
342     kfloat(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+6,bi,bj)
343     iup(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+7,bi,bj)
344     itop(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+8,bi,bj)
345     tend(npart_tile(bi,bj),bi,bj) = fltbuf_recvW(ic+9,bi,bj)
346    
347     enddo
348     400 continue
349    
350     ENDDO
351     ENDDO
352    
353     return
354     end

  ViewVC Help
Powered by ViewVC 1.1.22