/home/eoseret/qaas_runs_CPU_9468/171-152-3172/intel/CloverLeafFC/build/CloverLeafFC/CloverLeaf_ref/kernels/update_halo_kernel.f90: 93 - 748
--------------------------------------------------------------------------------

93:     !$OMP PARALLEL PRIVATE(j)
[...]
99:     IF(fields(FIELD_DENSITY0).EQ.1) THEN
100:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
101:         !$OMP DO
102:         DO j=x_min-depth,x_max+depth
103:         !$OMP SIMD
104:           DO k=1,depth
105:             density0(j,1-k)=density0(j,0+k)
106:           ENDDO
107:         ENDDO
108:       !$OMP END DO
109:       ENDIF
110:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
111:         !$OMP DO
112:         DO j=x_min-depth,x_max+depth
113:         !$OMP SIMD
114:           DO k=1,depth
115:             density0(j,y_max+k)=density0(j,y_max+1-k)
116:           ENDDO
117:         ENDDO
118:       !$OMP END DO
119:       ENDIF
120:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
121:         !$OMP DO
122:         DO k=y_min-depth,y_max+depth
123:         !$OMP SIMD
124:           DO j=1,depth
125:             density0(1-j,k)=density0(0+j,k)
126:           ENDDO
127:         ENDDO
128:       !$OMP END DO
129:       ENDIF
130:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
131:         !$OMP DO
132:         DO k=y_min-depth,y_max+depth
133:         !$OMP SIMD
134:           DO j=1,depth
135:             density0(x_max+j,k)=density0(x_max+1-j,k)
136:           ENDDO
137:         ENDDO
138:       !$OMP END DO
139:       ENDIF
140:     ENDIF
141: 
142:     IF(fields(FIELD_DENSITY1).EQ.1) THEN
143:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
144:         !$OMP DO
145:         DO j=x_min-depth,x_max+depth
146:         !$OMP SIMD
147:           DO k=1,depth
148:             density1(j,1-k)=density1(j,0+k)
149:           ENDDO
150:         ENDDO
151:       !$OMP END DO
152:       ENDIF
153:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
154:         !$OMP DO
155:         DO j=x_min-depth,x_max+depth
156:         !$OMP SIMD
157:           DO k=1,depth
158:             density1(j,y_max+k)=density1(j,y_max+1-k)
159:           ENDDO
160:         ENDDO
161:       !$OMP END DO
162:       ENDIF
163:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
164:         !$OMP DO
165:         DO k=y_min-depth,y_max+depth
166:         !$OMP SIMD
167:           DO j=1,depth
168:             density1(1-j,k)=density1(0+j,k)
169:           ENDDO
170:         ENDDO
171:       !$OMP END DO
172:       ENDIF
173:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
174:         !$OMP DO
175:         DO k=y_min-depth,y_max+depth
176:         !$OMP SIMD
177:           DO j=1,depth
178:             density1(x_max+j,k)=density1(x_max+1-j,k)
179:           ENDDO
180:         ENDDO
181:       !$OMP END DO
182:       ENDIF
183:     ENDIF
184: 
185:     IF(fields(FIELD_ENERGY0).EQ.1) THEN
186:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
187:         !$OMP DO
188:         DO j=x_min-depth,x_max+depth
189:         !$OMP SIMD
190:           DO k=1,depth
191:             energy0(j,1-k)=energy0(j,0+k)
192:           ENDDO
193:         ENDDO
194:       !$OMP END DO
195:       ENDIF
196:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
197:         !$OMP DO
198:         DO j=x_min-depth,x_max+depth
199:         !$OMP SIMD
200:           DO k=1,depth
201:             energy0(j,y_max+k)=energy0(j,y_max+1-k)
202:           ENDDO
203:         ENDDO
204:       !$OMP END DO
205:       ENDIF
206:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
207:         !$OMP DO
208:         DO k=y_min-depth,y_max+depth
209:         !$OMP SIMD
210:           DO j=1,depth
211:             energy0(1-j,k)=energy0(0+j,k)
212:           ENDDO
213:         ENDDO
214:       !$OMP END DO
215:       ENDIF
216:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
217:         !$OMP DO
218:         DO k=y_min-depth,y_max+depth
219:         !$OMP SIMD
220:           DO j=1,depth
221:             energy0(x_max+j,k)=energy0(x_max+1-j,k)
222:           ENDDO
223:         ENDDO
224:       !$OMP END DO
225:       ENDIF
226:     ENDIF
227: 
228:     IF(fields(FIELD_ENERGY1).EQ.1) THEN
229:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
230:         !$OMP DO
231:         DO j=x_min-depth,x_max+depth
232:         !$OMP SIMD
233:           DO k=1,depth
234:             energy1(j,1-k)=energy1(j,0+k)
235:           ENDDO
236:         ENDDO
237:       !$OMP END DO
238:       ENDIF
239:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
240:         !$OMP DO
241:         DO j=x_min-depth,x_max+depth
242:         !$OMP SIMD
243:           DO k=1,depth
244:             energy1(j,y_max+k)=energy1(j,y_max+1-k)
245:           ENDDO
246:         ENDDO
247:       !$OMP END DO
248:       ENDIF
249:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
250:         !$OMP DO
251:         DO k=y_min-depth,y_max+depth
252:         !$OMP SIMD
253:           DO j=1,depth
254:             energy1(1-j,k)=energy1(0+j,k)
255:           ENDDO
256:         ENDDO
257:       !$OMP END DO
258:       ENDIF
259:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
260:         !$OMP DO
261:         DO k=y_min-depth,y_max+depth
262:         !$OMP SIMD
263:           DO j=1,depth
264:             energy1(x_max+j,k)=energy1(x_max+1-j,k)
265:           ENDDO
266:         ENDDO
267:       !$OMP END DO
268:       ENDIF
269:     ENDIF
270: 
271:     IF(fields(FIELD_PRESSURE).EQ.1) THEN
272:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
273:         !$OMP DO
274:         DO j=x_min-depth,x_max+depth
275:         !$OMP SIMD
276:           DO k=1,depth
277:             pressure(j,1-k)=pressure(j,0+k)
278:           ENDDO
279:         ENDDO
280:       !$OMP END DO
281:       ENDIF
282:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
283:         !$OMP DO
284:         DO j=x_min-depth,x_max+depth
285:         !$OMP SIMD
286:           DO k=1,depth
287:             pressure(j,y_max+k)=pressure(j,y_max+1-k)
288:           ENDDO
289:         ENDDO
290:       !$OMP END DO
291:       ENDIF
292:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
293:         !$OMP DO
294:         DO k=y_min-depth,y_max+depth
295:         !$OMP SIMD
296:           DO j=1,depth
297:             pressure(1-j,k)=pressure(0+j,k)
298:           ENDDO
299:         ENDDO
300:       !$OMP END DO
301:       ENDIF
302:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
303:         !$OMP DO
304:         DO k=y_min-depth,y_max+depth
305:         !$OMP SIMD
306:           DO j=1,depth
307:             pressure(x_max+j,k)=pressure(x_max+1-j,k)
308:           ENDDO
309:         ENDDO
310:       !$OMP END DO
311:       ENDIF
312:     ENDIF
313: 
314:     IF(fields(FIELD_VISCOSITY).EQ.1) THEN
315:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
316:         !$OMP DO
317:         DO j=x_min-depth,x_max+depth
318:         !$OMP SIMD
319:           DO k=1,depth
320:             viscosity(j,1-k)=viscosity(j,0+k)
321:           ENDDO
322:         ENDDO
323:       !$OMP END DO
324:       ENDIF
325:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
326:         !$OMP DO
327:         DO j=x_min-depth,x_max+depth
328:         !$OMP SIMD
329:           DO k=1,depth
330:             viscosity(j,y_max+k)=viscosity(j,y_max+1-k)
331:           ENDDO
332:         ENDDO
333:       !$OMP END DO
334:       ENDIF
335:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
336:         !$OMP DO
337:         DO k=y_min-depth,y_max+depth
338:         !$OMP SIMD
339:           DO j=1,depth
340:             viscosity(1-j,k)=viscosity(0+j,k)
341:           ENDDO
342:         ENDDO
343:       !$OMP END DO
344:       ENDIF
345:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
346:         !$OMP DO
347:         DO k=y_min-depth,y_max+depth
348:         !$OMP SIMD
349:           DO j=1,depth
350:             viscosity(x_max+j,k)=viscosity(x_max+1-j,k)
351:           ENDDO
352:         ENDDO
353:       !$OMP END DO
354:       ENDIF
355:     ENDIF
356: 
357:     IF(fields(FIELD_SOUNDSPEED).EQ.1) THEN
358:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
359:         !$OMP DO
360:         DO j=x_min-depth,x_max+depth
361:         !$OMP SIMD
362:           DO k=1,depth
363:             soundspeed(j,1-k)=soundspeed(j,0+k)
364:           ENDDO
365:         ENDDO
366:       !$OMP END DO
367:       ENDIF
368:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
369:         !$OMP DO
370:         DO j=x_min-depth,x_max+depth
371:         !$OMP SIMD
372:           DO k=1,depth
373:             soundspeed(j,y_max+k)=soundspeed(j,y_max+1-k)
374:           ENDDO
375:         ENDDO
376:       !$OMP END DO
377:       ENDIF
378:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
379:         !$OMP DO
380:         DO k=y_min-depth,y_max+depth
381:         !$OMP SIMD
382:           DO j=1,depth
383:             soundspeed(1-j,k)=soundspeed(0+j,k)
384:           ENDDO
385:         ENDDO
386:       !$OMP END DO
387:       ENDIF
388:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
389:         !$OMP DO
390:         DO k=y_min-depth,y_max+depth
391:         !$OMP SIMD
392:           DO j=1,depth
393:             soundspeed(x_max+j,k)=soundspeed(x_max+1-j,k)
394:           ENDDO
395:         ENDDO
396:       !$OMP END DO
[...]
404:     IF(fields(FIELD_XVEL0).EQ.1) THEN
405:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
406:         !$OMP DO
407:         DO j=x_min-depth,x_max+1+depth
408:         !$OMP SIMD
409:           DO k=1,depth
410:             xvel0(j,1-k)=xvel0(j,1+k)
411:           ENDDO
412:         ENDDO
413:       !$OMP END DO
414:       ENDIF
415:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
416:         !$OMP DO
417:         DO j=x_min-depth,x_max+1+depth
418:         !$OMP SIMD
419:           DO k=1,depth
420:             xvel0(j,y_max+1+k)=xvel0(j,y_max+1-k)
421:           ENDDO
422:         ENDDO
423:       !$OMP END DO
424:       ENDIF
425:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
426:         !$OMP DO
427:         DO k=y_min-depth,y_max+1+depth
428:         !$OMP SIMD
429:           DO j=1,depth
430:             xvel0(1-j,k)=-xvel0(1+j,k)
431:           ENDDO
432:         ENDDO
433:       !$OMP END DO
434:       ENDIF
435:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
436:         !$OMP DO
437:         DO k=y_min-depth,y_max+1+depth
438:         !$OMP SIMD
439:           DO j=1,depth
440:             xvel0(x_max+1+j,k)=-xvel0(x_max+1-j,k)
441:           ENDDO
442:         ENDDO
443:       !$OMP END DO
444:       ENDIF
445:     ENDIF
446: 
447:     IF(fields(FIELD_XVEL1).EQ.1) THEN
448:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
449:         !$OMP DO
450:         DO j=x_min-depth,x_max+1+depth
451:         !$OMP SIMD
452:           DO k=1,depth
453:             xvel1(j,1-k)=xvel1(j,1+k)
454:           ENDDO
455:         ENDDO
456:       !$OMP END DO
457:       ENDIF
458:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
459:         !$OMP DO
460:         DO j=x_min-depth,x_max+1+depth
461:         !$OMP SIMD
462:           DO k=1,depth
463:             xvel1(j,y_max+1+k)=xvel1(j,y_max+1-k)
464:           ENDDO
465:         ENDDO
466:       !$OMP END DO
467:       ENDIF
468:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
469:         !$OMP DO
470:         DO k=y_min-depth,y_max+1+depth
471:         !$OMP SIMD
472:           DO j=1,depth
473:             xvel1(1-j,k)=-xvel1(1+j,k)
474:           ENDDO
475:         ENDDO
476:       !$OMP END DO
477:       ENDIF
478:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
479:         !$OMP DO
480:         DO k=y_min-depth,y_max+1+depth
481:         !$OMP SIMD
482:           DO j=1,depth
483:             xvel1(x_max+1+j,k)=-xvel1(x_max+1-j,k)
484:           ENDDO
485:         ENDDO
486:       !$OMP END DO
487:       ENDIF
488:     ENDIF
489: 
490:     IF(fields(FIELD_YVEL0).EQ.1) THEN
491:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
492:         !$OMP DO
493:         DO j=x_min-depth,x_max+1+depth
494:         !$OMP SIMD
495:           DO k=1,depth
496:             yvel0(j,1-k)=-yvel0(j,1+k)
497:           ENDDO
498:         ENDDO
499:       !$OMP END DO
500:       ENDIF
501:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
502:         !$OMP DO
503:         DO j=x_min-depth,x_max+1+depth
504:         !$OMP SIMD
505:           DO k=1,depth
506:             yvel0(j,y_max+1+k)=-yvel0(j,y_max+1-k)
507:           ENDDO
508:         ENDDO
509:       !$OMP END DO
510:       ENDIF
511:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
512:         !$OMP DO
513:         DO k=y_min-depth,y_max+1+depth
514:         !$OMP SIMD
515:           DO j=1,depth
516:             yvel0(1-j,k)=yvel0(1+j,k)
517:           ENDDO
518:         ENDDO
519:       !$OMP END DO
520:       ENDIF
521:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
522:         !$OMP DO
523:         DO k=y_min-depth,y_max+1+depth
524:         !$OMP SIMD
525:           DO j=1,depth
526:             yvel0(x_max+1+j,k)=yvel0(x_max+1-j,k)
527:           ENDDO
528:         ENDDO
529:       !$OMP END DO
530:       ENDIF
531:     ENDIF
532: 
533:     IF(fields(FIELD_YVEL1).EQ.1) THEN
534:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
535:         !$OMP DO
536:         DO j=x_min-depth,x_max+1+depth
537:         !$OMP SIMD
538:           DO k=1,depth
539:             yvel1(j,1-k)=-yvel1(j,1+k)
540:           ENDDO
541:         ENDDO
542:       !$OMP END DO
543:       ENDIF
544:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
545:         !$OMP DO
546:         DO j=x_min-depth,x_max+1+depth
547:         !$OMP SIMD
548:           DO k=1,depth
549:             yvel1(j,y_max+1+k)=-yvel1(j,y_max+1-k)
550:           ENDDO
551:         ENDDO
552:       !$OMP END DO
553:       ENDIF
554:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
555:         !$OMP DO
556:         DO k=y_min-depth,y_max+1+depth
557:         !$OMP SIMD
558:           DO j=1,depth
559:             yvel1(1-j,k)=yvel1(1+j,k)
560:           ENDDO
561:         ENDDO
562:       !$OMP END DO
563:       ENDIF
564:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
565:         !$OMP DO
566:         DO k=y_min-depth,y_max+1+depth
567:         !$OMP SIMD
568:           DO j=1,depth
569:             yvel1(x_max+1+j,k)=yvel1(x_max+1-j,k)
570:           ENDDO
571:         ENDDO
572:       !$OMP END DO
[...]
580:     IF(fields(FIELD_VOL_FLUX_X).EQ.1) THEN
581:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
582:         !$OMP DO
583:         DO j=x_min-depth,x_max+1+depth
584:         !$OMP SIMD
585:           DO k=1,depth
586:             vol_flux_x(j,1-k)=vol_flux_x(j,1+k)
587:           ENDDO
588:         ENDDO
589:       !$OMP END DO
590:       ENDIF
591:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
592:         !$OMP DO
593:         DO j=x_min-depth,x_max+1+depth
594:         !$OMP SIMD
595:           DO k=1,depth
596:             vol_flux_x(j,y_max+k)=vol_flux_x(j,y_max-k)
597:           ENDDO
598:         ENDDO
599:       !$OMP END DO
600:       ENDIF
601:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
602:         !$OMP DO
603:         DO k=y_min-depth,y_max+depth
604:         !$OMP SIMD
605:           DO j=1,depth
606:             vol_flux_x(1-j,k)=-vol_flux_x(1+j,k)
607:           ENDDO
608:         ENDDO
609:       !$OMP END DO
610:       ENDIF
611:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
612:         !$OMP DO
613:         DO k=y_min-depth,y_max+depth
614:         !$OMP SIMD
615:           DO j=1,depth
616:             vol_flux_x(x_max+j+1,k)=-vol_flux_x(x_max+1-j,k)
617:           ENDDO
618:         ENDDO
619:       !$OMP END DO
620:       ENDIF
621:     ENDIF
622: 
623:     IF(fields(FIELD_MASS_FLUX_X).EQ.1) THEN
624:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
625:         !$OMP DO
626:         DO j=x_min-depth,x_max+1+depth
627:         !$OMP SIMD
628:           DO k=1,depth
629:             mass_flux_x(j,1-k)=mass_flux_x(j,1+k)
630:           ENDDO
631:         ENDDO
632:       !$OMP END DO
633:       ENDIF
634:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
635:         !$OMP DO
636:         DO j=x_min-depth,x_max+1+depth
637:         !$OMP SIMD
638:           DO k=1,depth
639:             mass_flux_x(j,y_max+k)=mass_flux_x(j,y_max-k)
640:           ENDDO
641:         ENDDO
642:       !$OMP END DO
643:       ENDIF
644:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
645:         !$OMP DO
646:         DO k=y_min-depth,y_max+depth
647:         !$OMP SIMD
648:           DO j=1,depth
649:             mass_flux_x(1-j,k)=-mass_flux_x(1+j,k)
650:           ENDDO
651:         ENDDO
652:       !$OMP END DO
653:       ENDIF
654:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
655:         !$OMP DO
656:         DO k=y_min-depth,y_max+depth
657:         !$OMP SIMD
658:           DO j=1,depth
659:             mass_flux_x(x_max+j+1,k)=-mass_flux_x(x_max+1-j,k)
660:           ENDDO
661:         ENDDO
662:       !$OMP END DO
663:       ENDIF
664:     ENDIF
665: 
666:     IF(fields(FIELD_VOL_FLUX_Y).EQ.1) THEN
667:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
668:         !$OMP DO
669:         DO j=x_min-depth,x_max+depth
670:         !$OMP SIMD
671:           DO k=1,depth
672:             vol_flux_y(j,1-k)=-vol_flux_y(j,1+k)
673:           ENDDO
674:         ENDDO
675:       !$OMP END DO
676:       ENDIF
677:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
678:         !$OMP DO
679:         DO j=x_min-depth,x_max+depth
680:         !$OMP SIMD
681:           DO k=1,depth
682:             vol_flux_y(j,y_max+k+1)=-vol_flux_y(j,y_max+1-k)
683:           ENDDO
684:         ENDDO
685:       !$OMP END DO
686:       ENDIF
687:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
688:         !$OMP DO
689:         DO k=y_min-depth,y_max+1+depth
690:         !$OMP SIMD
691:           DO j=1,depth
692:             vol_flux_y(1-j,k)=vol_flux_y(1+j,k)
693:           ENDDO
694:         ENDDO
695:       !$OMP END DO
696:       ENDIF
697:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
698:         !$OMP DO
699:         DO k=y_min-depth,y_max+1+depth
700:         !$OMP SIMD
701:           DO j=1,depth
702:             vol_flux_y(x_max+j,k)=vol_flux_y(x_max-j,k)
703:           ENDDO
704:         ENDDO
705:       !$OMP END DO
706:       ENDIF
707:     ENDIF
708: 
709:     IF(fields(FIELD_MASS_FLUX_Y).EQ.1) THEN
710:       IF( (chunk_neighbours(CHUNK_BOTTOM).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_BOTTOM).EQ.EXTERNAL_TILE) ) THEN
711:         !$OMP DO
712:         DO j=x_min-depth,x_max+depth
713:         !$OMP SIMD
714:           DO k=1,depth
715:             mass_flux_y(j,1-k)=-mass_flux_y(j,1+k)
716:           ENDDO
717:         ENDDO
718:       !$OMP END DO
719:       ENDIF
720:       IF( (chunk_neighbours(CHUNK_TOP).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_TOP).EQ.EXTERNAL_TILE) ) THEN
721:         !$OMP DO
722:         DO j=x_min-depth,x_max+depth
723:         !$OMP SIMD
724:           DO k=1,depth
725:             mass_flux_y(j,y_max+k+1)=-mass_flux_y(j,y_max+1-k)
726:           ENDDO
727:         ENDDO
728:       !$OMP END DO
729:       ENDIF
730:       IF( (chunk_neighbours(CHUNK_LEFT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_LEFT).EQ.EXTERNAL_TILE) ) THEN
731:         !$OMP DO
732:         DO k=y_min-depth,y_max+1+depth
733:         !$OMP SIMD
734:           DO j=1,depth
735:             mass_flux_y(1-j,k)=mass_flux_y(1+j,k)
736:           ENDDO
737:         ENDDO
738:       !$OMP END DO
739:       ENDIF
740:       IF( (chunk_neighbours(CHUNK_RIGHT).EQ.EXTERNAL_FACE) .AND. (tile_neighbours(TILE_RIGHT).EQ.EXTERNAL_TILE) ) THEN
741:         !$OMP DO
742:         DO k=y_min-depth,y_max+1+depth
743:         !$OMP SIMD
744:           DO j=1,depth
745:             mass_flux_y(x_max+j,k)=mass_flux_y(x_max-j,k)
746:           ENDDO
747:         ENDDO
748:       !$OMP END DO
