subroutine da_set_boundary_xa(grid) 4,2
!------------------------------------------------------------------------
! Purpose:
!
! Merge East-West boundary values for the desired grid%xa-type variables
!------------------------------------------------------------------------
implicit none
type (domain), intent(inout) :: grid
integer :: n, j, k
if ((its /= ids) .or. (ite /= ide)) return
if (trace_use) call da_trace_entry
("da_set_boundary_xa")
! 2d
k = kte + 1
do j=jms, jme
do n=1,bdyzone
grid%xa%psfc(ids-n,j) = grid%xa%psfc(ide+1-n,j)
grid%xa%w(ids-n,j,k) = grid%xa%w(ide+1-n,j,k)
grid%xa%psfc(ide+n,j) = grid%xa%psfc(ids-1+n,j)
grid%xa%w(ide+n,j,k) = grid%xa%w(ids-1+n,j,k)
end do
end do
! 3d
do k=kts, kte
do j=jms, jme
do n=1,bdyzone
grid%xa%u(ids-n,j,k) = grid%xa%u(ide+1-n,j,k)
grid%xa%v(ids-n,j,k) = grid%xa%v(ide+1-n,j,k)
grid%xa%t(ids-n,j,k) = grid%xa%t(ide+1-n,j,k)
grid%xa%p(ids-n,j,k) = grid%xa%p(ide+1-n,j,k)
grid%xa%q(ids-n,j,k) = grid%xa%q(ide+1-n,j,k)
grid%xa%w(ids-n,j,k) = grid%xa%w(ide+1-n,j,k)
grid%xa%u(ide+n,j,k) = grid%xa%u(ids-1+n,j,k)
grid%xa%v(ide+n,j,k) = grid%xa%v(ids-1+n,j,k)
grid%xa%t(ide+n,j,k) = grid%xa%t(ids-1+n,j,k)
grid%xa%p(ide+n,j,k) = grid%xa%p(ids-1+n,j,k)
grid%xa%q(ide+n,j,k) = grid%xa%q(ids-1+n,j,k)
grid%xa%w(ide+n,j,k) = grid%xa%w(ids-1+n,j,k)
end do
end do
end do
if (trace_use) call da_trace_exit
("da_set_boundary_xa")
end subroutine da_set_boundary_xa