15 #include "inc_openmp.h" 40 integer,
public,
parameter ::
i_up = 1
41 integer,
public,
parameter ::
i_dn = 2
43 integer,
public,
parameter ::
i_lw = 1
44 integer,
public,
parameter ::
i_sw = 2
75 thermodyn_qd => atmos_thermodyn_qd, &
76 thermodyn_cv => atmos_thermodyn_cv, &
77 thermodyn_rhoe => atmos_thermodyn_rhoe, &
78 thermodyn_rhot => atmos_thermodyn_rhot
81 real(RP),
intent(in) :: flux_rad(
ka,
ia,
ja,2,2)
82 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
83 real(RP),
intent(in) :: rhot (
ka,
ia,
ja)
84 real(RP),
intent(in) :: qtrc (
ka,
ia,
ja,qa)
85 real(RP),
intent(in) :: fz (0:
ka,
ia,
ja)
86 real(DP),
intent(in) :: dt
87 real(RP),
intent(out) :: temp_t (
ka,
ia,
ja,3)
88 real(RP),
intent(out) :: rhot_t (
ka,
ia,
ja)
90 real(RP) :: rhoe (
ka,
ia,
ja)
91 real(RP) :: rhoe_t(
ka,
ia,
ja,2)
92 real(RP) :: rhot1 (
ka,
ia,
ja)
93 real(RP) :: qdry (
ka,
ia,
ja)
94 real(RP) :: cvtot (
ka,
ia,
ja)
99 call thermodyn_rhoe( rhoe(:,:,:), &
113 rhoe_t(k,i,j,
i_lw) = ( ( flux_rad(k,i,j,
i_lw,
i_dn) - flux_rad(k-1,i,j,
i_lw,
i_dn) ) &
115 ) / ( fz(k,i,j) - fz(k-1,i,j) )
117 rhoe_t(k,i,j,
i_sw) = ( ( flux_rad(k,i,j,
i_sw,
i_dn) - flux_rad(k-1,i,j,
i_sw,
i_dn) ) &
119 ) / ( fz(k,i,j) - fz(k-1,i,j) )
121 rhoe(k,i,j) = rhoe(k,i,j) + dt * ( rhoe_t(k,i,j,
i_lw) + rhoe_t(k,i,j,
i_sw) )
127 call thermodyn_rhot( rhot1(:,:,:), &
138 rhot_t(k,i,j) = ( rhot1(k,i,j) - rhot(k,i,j) ) / dt
143 call thermodyn_qd( qdry(:,:,:), &
147 call thermodyn_cv( cvtot(:,:,:), &
155 temp_t(k,i,j,
i_lw) = rhoe_t(k,i,j,
i_lw) / dens(k,i,j) / cvtot(k,i,j) * 86400.0_rp
156 temp_t(k,i,j,
i_sw) = rhoe_t(k,i,j,
i_sw) / dens(k,i,j) / cvtot(k,i,j) * 86400.0_rp
158 temp_t(k,i,j,3) = temp_t(k,i,j,
i_lw) + temp_t(k,i,j,
i_sw)
integer, public is
start point of inner domain: x, local
subroutine, public atmos_phy_rd_heating(flux_rad, DENS, RHOT, QTRC, FZ, dt, TEMP_t, RHOT_t)
Calc heating rate.
integer, public je
end point of inner domain: y, local
integer, parameter, public i_direct
real(rp), dimension(qa_max), public tracer_r
integer, public ke
end point of inner domain: z, local
integer, parameter, public i_diffuse
real(rp), dimension(qa_max), public tracer_cv
integer, parameter, public i_lw
integer, parameter, public i_sw
integer, public ia
of whole cells: x, local, with HALO
integer, parameter, public i_dn
integer, public ka
of whole cells: z, local, with HALO
integer, public js
start point of inner domain: y, local
integer, public ks
start point of inner domain: z, local
integer, public ie
end point of inner domain: x, local
module ATMOSPHERE / Thermodynamics
module ATMOSPHERE / Physics Radiation
integer, parameter, public i_up
real(rp), dimension(qa_max), public tracer_mass
integer, public ja
of whole cells: y, local, with HALO