!======================================= ! 2D cumulus model - kaminari ! - subroutine vel_w_tb ! ! Author : TAKAHASHI Koko ! Date : 2003/12/06 最終更新 ! 2003/11/11 新規作成 ! Note : z 方向運動方程式の長い時間 ! 間隔で計算する部分 ! !======================================= !--- 1,2,3,4行目入力変数, 5行目出力変数 subroutine vel_w_tb(im,km,grv,ptemp_bs,ptemp, & & w_adv,w_buoy,w_trb) implicit none integer(8), intent(in) :: im, km ! real(8), intent(in) :: nuh,nuv,grv,cm,ml real(8), intent(in) :: grv ! real(8), intent(in) :: dx, dz ! real(8), intent(in) :: g_sqrt(-2:im+2,-2:km+2) ! real(8), intent(in) :: g_sqrt_z(-2:im+2,-2:km+2) ! real(8), intent(in) :: g_sqrt_xz(-2:im+2,-2:km+2) ! real(8), intent(in) :: g13(-2:im+2,-2:km+2) ! real(8), intent(in) :: g13x(-2:im+2,-2:km+2) ! real(8), intent(in) :: g13xz(-2:im+2,-2:km+2) real(8), intent(in) :: ptemp_bs(-2:im+2,-2:km+2) ! real(8), intent(in) :: qv_bs(-2:im+2,-2:km+2) ! real(8), intent(in) :: u(-2:im+2,-2:km+2) ! real(8), intent(in) :: w(-2:im+2,-2:km+3) ! real(8), intent(in) :: omg(-2:im+2,-2:km+3) ! real(8), intent(in) :: u_old(-2:im+2,-2:km+2) ! real(8), intent(in) :: w_old(-2:im+2,-2:km+2) real(8), intent(in) :: ptemp(-2:im+2,-2:km+2) ! real(8), intent(in) :: qv(-2:im+2,-2:km+2) ! real(8), intent(in) :: qc(-2:im+2,-2:km+2) ! real(8), intent(in) :: qr(-2:im+2,-2:km+2) ! real(8), intent(in) :: km_sub(-2:im+2,-2:km+2) real(8), intent(out) :: w_adv(-2:im+2,-2:km+3) real(8), intent(out) :: w_buoy(-2:im+2,-2:km+3) real(8), intent(out) :: w_trb(-2:im+2,-2:km+3) integer(8) :: i, k do k = 1,km do i = 0,im !--- 移流項 w_adv(i,k) = 0.0d0 !--- 浮力項 w_buoy(i,k) = grv & & *( & & (ptemp(i,k) + ptemp(i,k-1))/2.0d0 & & /((ptemp_bs(i,k) + ptemp_bs(i,k-1))/2.0d0)& & - 1.0d0 & ! & + 0.61d0*( & ! & (qv(i,k+1) + qv(i,k))/2.0d0 & ! & - (qv_bs(i,k+1) - qv_bs(i,k)) & ! & /2.0d0 & ! & ) & ! & - (qc(i,k+1) + qc(i,k))/2.0d0 & ! & - (qr(i,k+1) + qr(i,k))/2.0d0 & & ) !--- 拡散項 w_trb(i,k) = 0.0d0 end do end do end subroutine vel_w_tb