!=======================================
! 2D cumulus model - kaminari
!  - subroutine div_diff_avr
!
! Author    : TAKAHASHI Koko
! Date      : 2003/11/26  最終更新
!             2003/11/13  新規作成
! Note      : 音波減衰項 div
!             x方向運動方程式中の
!              - 音波減衰項の x 微分:     div_x_u
!              - 音波減衰項の z^{*} 微分: div_z_u
!             z^{*}方向運動方程式中の
!              - 音波減衰項の z^{*} 微分: div_z_w
!
!=======================================
!--- 1行目入力変数, 2行目出力変数
subroutine div_diff_avr(i,k,im,km,dx,dz,div,                &
     &                  div_x_u,div_z_u,div_z_w)

  implicit none

  integer(8), intent(inout) :: i, k
  integer(8), intent(in) :: im, km

  real(8), intent(in) :: dx, dz

  real(8), intent(out) :: div_x_u(-2:im+1,-2:km+1)
  real(8), intent(out) :: div_z_u(-2:im+1,-2:km+1)
  real(8), intent(out) :: div_z_w(-2:im+1,-2:km+1)

  real(8)              :: div(-2:im+1,-2:km+1)

  !--- x方向運動方程式のdivのx微分: u(i,k)と同じ位置
  div_x_u(i,k) = (div(i,k) - div(i-1,k))/dx

  !--- x方向運動方程式のdivのz微分: u(i,k)と同じ位置
  div_z_u(i,k) = (                                    &
       &          div(i,k+1) + div(i-1,k+1)           &
       &          - div(i,k-1) - div(i-1,k-1)         &
       &         )/(2.0d0*dz)

  !--- z方向運動方程式のdivのz微分: w(i,k)と同じ位置
  div_z_w(i,k) = (div(i,k) - div(i,k-1))/dz

end subroutine div_diff_avr