!======================================= ! 2D cumulus model - kaminari ! - subroutine vel_u_tb ! ! Author : TAKAHASHI Koko ! Date : 2003/11/11 ! Note : x 方向運動方程式の長い時間 ! 間隔で計算する部分 ! !======================================= subroutine vel_u_tb(i,k,im,km,nuh,nuv,dx,dz,u,omg, & & u_adv,u_cori,u_trb) implicit none integer(8), intent(in) :: i, k integer(8), intent(in) :: im, km real(8), intent(in) :: nuh,nuv real(8), intent(in) :: dx, dz real(8), intent(in) :: u(0:im+1,0:km+1) real(8), intent(in) :: omg(0:im+1,0:km+1) real(8), intent(out) :: u_adv(0:im+1,0:km+1) real(8), intent(out) :: u_cori(0:im+1,0:km+1) real(8), intent(out) :: u_trb(0:im+1,0:km+1) real(8) :: u_dif(0:im+1,0:km+1) !--- 音波減衰項 u_dif(i,k) = nuh*(u(i+1,k) - 2*u(i,k) + u(i-1,k)) & & /dx**2.0D0 & & + nuv*(u(i,k+1) - 2*u(i,k) + u(i,k-1)) & & /dz**2.0D0 !--- 移流項 u_adv(i,k) = u(i,k)*(u(i+1,k) - u(i-1,k))/(4.0D0*dx) & & + ( & & omg(i+1,k+1) + omg(i+1,k-1) & & + omg(i-1,k+1) + omg(i-1,k-1) & & )/4.0D0 & & *(u(i,k+1) - u(i,k-1))/(2.0D0*dz) & & - u_dif(i,k) !--- コリオリ項 u_cori(i,k) = 0.0D0 !--- 拡散項 u_trb(i,k) = 0.0D0 ! u_trb(i,k) = 2.0D0*km_sub(i,k) & ! & *( & ! & (u(i+1,k) - u(i,k))/dx & ! & + g13(i,k)*( & ! & u(i+1,k+1) + u(i-1,k+1) & ! & - u(i+1,k-1) - u(i-1,k-1) & ! & )/(4.0D0*dz) & ! & end subroutine vel_u_tb