21 |
C 1 indicates that the bi-bj loop is done OUTSIDE |
C 1 indicates that the bi-bj loop is done OUTSIDE |
22 |
C 2 indicates that the bi-bj loop is done OUTSIDE |
C 2 indicates that the bi-bj loop is done OUTSIDE |
23 |
C AND that we have been sent a local array |
C AND that we have been sent a local array |
24 |
C bi ......... X-direction process(or) number - used for bibjflg=1,2 |
C 3 indicates that the bi-bj loop is done OUTSIDE |
25 |
C bj ......... Y-direction process(or) number - used for bibjflg=1,2 |
C AND that we have been sent a local array |
26 |
|
C AND that the array has the shadow regions |
27 |
|
C bi ......... X-direction process(or) number - used for bibjflg=1-3 |
28 |
|
C bj ......... Y-direction process(or) number - used for bibjflg=1-3 |
29 |
C arrayin .... Field to increment diagnostics array |
C arrayin .... Field to increment diagnostics array |
30 |
C NOTE: User beware! If a local (1 tile only) array |
C NOTE: User beware! If a local (1 tile only) array |
31 |
C is sent here, bibjflg MUST NOT be set to 0 |
C is sent here, bibjflg MUST NOT be set to 0 |
47 |
integer i, j, n, ndiagnum, bihere, bjhere, levhere, ipointer |
integer i, j, n, ndiagnum, bihere, bjhere, levhere, ipointer |
48 |
_RL array(1-OLx:sNx+Olx,1-Oly:sNy+Oly,nlevs,Nsx,Nsy) |
_RL array(1-OLx:sNx+Olx,1-Oly:sNy+Oly,nlevs,Nsx,Nsy) |
49 |
_RL arrayloc(sNx,sNy,nlevs) |
_RL arrayloc(sNx,sNy,nlevs) |
50 |
|
_RL arrayloc2(1-OLx:sNx+Olx,1-Oly:sNy+Oly,nlevs) |
51 |
integer irun,jrun,krun,birun,bjrun |
integer irun,jrun,krun,birun,bjrun |
52 |
|
|
53 |
C Run through list of active diagnostics to make sure |
C Run through list of active diagnostics to make sure |
166 |
enddo |
enddo |
167 |
enddo |
enddo |
168 |
endif |
endif |
169 |
|
|
170 |
|
elseif(bibjflg.eq.3) then |
171 |
|
irun = sNx+2*Olx |
172 |
|
jrun = sNy+2*Oly |
173 |
|
krun = nlevs |
174 |
|
birun = 1 |
175 |
|
bjrun = 1 |
176 |
|
|
177 |
|
if(levflg.eq.0)then |
178 |
|
do levhere = 1,nlevs |
179 |
|
call fillit(arrayin,irun,jrun,krun,levhere,levhere,birun,bjrun, |
180 |
|
. 1,1,arrayloc2) |
181 |
|
do j = 1,sNy |
182 |
|
do i = 1,sNx |
183 |
|
qdiag(i,j,ipointer+levhere-1,bi,bj) = |
184 |
|
. qdiag(i,j,ipointer+levhere-1,bi,bj) + arrayloc2(i,j,levhere) |
185 |
|
enddo |
186 |
|
enddo |
187 |
|
enddo |
188 |
|
else |
189 |
|
call fillit(arrayin,irun,jrun,krun,levflg,1,birun,bjrun, |
190 |
|
. 1,1,arrayloc2) |
191 |
|
do j = 1,sNy |
192 |
|
do i = 1,sNx |
193 |
|
qdiag(i,j,ipointer+levflg-1,bi,bj) = |
194 |
|
. qdiag(i,j,ipointer+levflg-1,bi,bj) + arrayloc2(i,j,nlevs) |
195 |
|
enddo |
196 |
|
enddo |
197 |
|
endif |
198 |
|
|
199 |
endif |
endif |
200 |
|
|