do k = 1, nz
write(msg,*)'[1F setbkgrnd: ' //
& 'nz = ',nz,', % done = ',int(k*1.0d2/nz),' '
call writemessage(msg)
!$OMP PARALLEL DO SHARED(mask,agxx,agxy,agxz,agyy,agyz,agzz,
!$OMP& aKxx,aKxy,aKxz,aKyy,aKyz,aKzz,ax,ay,az),
!$OMP& SCHEDULE(STATIC,chunk) PRIVATE(j)
do j = 1, ny
do i = 1, nx
c if (ltrace) then
c write(msg,*) '---------------'
c call writemessage(msg)
c endif
if (mask(i,j,k) .ne. m_ex .and.
& (ibonly .eq. 0 .or.
& mask(i,j,k) .eq. m_ib)) then
x = ax(i)
y = ay(j)
z = az(k)
c the following two include files just perform many pointwise calc's
include 'gd.inc'
include 'kd.inc'
agxx(i,j,k) = gxx
agxy(i,j,k) = gxy
agxz(i,j,k) = gxz
agyy(i,j,k) = gyy
agyz(i,j,k) = gyz
agzz(i,j,k) = gzz
aKxx(i,j,k) = Kxx
aKxy(i,j,k) = Kxy
aKxz(i,j,k) = Kxz
aKyy(i,j,k) = Kyy
aKyz(i,j,k) = Kyz
aKzz(i,j,k) = Kzz
else if (mask(i,j,k) .eq. m_ex) then
c Excised points
agxx(i,j,k) = exval
agxy(i,j,k) = exval
agxz(i,j,k) = exval
agyy(i,j,k) = exval
agyz(i,j,k) = exval
agzz(i,j,k) = exval
aKxx(i,j,k) = exval
aKxy(i,j,k) = exval
aKxz(i,j,k) = exval
aKyy(i,j,k) = exval
aKyz(i,j,k) = exval
aKzz(i,j,k) = exval
endif
enddo
enddo
!$OMP END PARALLEL DO
enddo