5module mynnedmf_wrapper_post
6 use machine,
only: kind_phys
15 subroutine mynnedmf_wrapper_post_run (tend_opt_pbl, im, levs, ntrac, &
16 dtp, ten_t, ten_u, ten_v, ten_q, ten_t_pbl, ten_q_pbl, gt0, gu0, gv0, gq0, dtdt, dudt, dvdt, dqdt, &
20 integer,
intent(in) :: tend_opt_pbl, im, levs, ntrac
21 real(kind=kind_phys),
intent(in) :: dtp
22 real(kind=kind_phys),
intent(in),
dimension(:,:) :: ten_u, ten_v, ten_t
23 real(kind=kind_phys),
intent(out),
dimension(:,:) :: ten_t_pbl,ten_q_pbl
24 real(kind=kind_phys),
intent(in),
dimension(:,:,:) :: ten_q
25 real(kind=kind_phys),
intent(inout),
dimension(:,:) :: gt0, gu0, gv0
26 real(kind=kind_phys),
intent(inout),
dimension(:,:,:) :: gq0
27 real(kind=kind_phys),
intent(inout),
dimension(:,:) :: dtdt, dudt, dvdt
28 real(kind=kind_phys),
intent(inout),
dimension(:,:,:) :: dqdt
31 character(len=*),
intent(out) :: &
33 integer,
intent(out) :: &
43 case_pbl_ten:
select case (tend_opt_pbl)
49 gt0(i,k) = gt0(i,k) + dtp*ten_t(i,k)
50 gu0(i,k) = gu0(i,k) + dtp*ten_u(i,k)
51 gv0(i,k) = gv0(i,k) + dtp*ten_v(i,k)
53 gq0(i,k,n) = gq0(i,k,n) + dtp*ten_q(i,k,n)
62 dtdt(i,k) = dtdt(i,k) + ten_t(i,k)
63 dudt(i,k) = dudt(i,k) + ten_u(i,k)
64 dvdt(i,k) = dvdt(i,k) + ten_v(i,k)
66 dqdt(i,k,n) = dqdt(i,k,n) + ten_q(i,k,n)
75 gt0(i,k) = gt0(i,k) + dtp*(dtdt(i,k) + ten_t(i,k))
77 gu0(i,k) = gu0(i,k) + dtp*(dudt(i,k) + ten_u(i,k))
79 gv0(i,k) = gv0(i,k) + dtp*(dvdt(i,k) + ten_v(i,k))
82 gq0(i,k,n) = gq0(i,k,n) + dtp*(dqdt(i,k,n) + ten_q(i,k,n))
93 errmsg =
'A tendency application control was outside of the acceptable range (1-4)'
95 end select case_pbl_ten
104 ten_t_pbl(i,k)=ten_t(i,k)
105 ten_q_pbl(i,k)=ten_q(i,k,1)
109 end subroutine mynnedmf_wrapper_post_run
111end module mynnedmf_wrapper_post