34 integer,
public,
parameter ::
i_up = 1
35 integer,
public,
parameter ::
i_dn = 2
37 integer,
public,
parameter ::
i_lw = 1
38 integer,
public,
parameter ::
i_sw = 2
53 KA, KS, KE, IA, IS, IE, JA, JS, JE, &
61 integer,
intent(in) :: ka, ks, ke
62 integer,
intent(in) :: ia, is, ie
63 integer,
intent(in) :: ja, js, je
65 real(
rp),
intent(in) :: flux_rad(ka,ia,ja,2,2)
66 real(
rp),
intent(in) :: dens (ka,ia,ja)
67 real(
rp),
intent(in) :: temp (ka,ia,ja)
68 real(
rp),
intent(in) :: cvtot (ka,ia,ja)
69 real(
rp),
intent(in) :: fz (0:ka,ia,ja)
71 real(
rp),
intent(out) :: rhoh(ka,ia,ja)
73 real(
rp),
intent(out),
optional :: temp_t(ka,ia,ja,3)
75 real(
rp) :: rhoh_lw, rhoh_sw
80 if (
present(temp_t) )
then
94 ) / ( fz(k,i,j) - fz(k-1,i,j) )
98 ) / ( fz(k,i,j) - fz(k-1,i,j) )
100 rhoh(k,i,j) = rhoh_lw + rhoh_sw
102 temp_t(k,i,j,
i_lw) = rhoh_lw / dens(k,i,j) / cvtot(k,i,j) * 86400.0_rp
103 temp_t(k,i,j,
i_sw) = rhoh_sw / dens(k,i,j) / cvtot(k,i,j) * 86400.0_rp
105 temp_t(k,i,j,3) = temp_t(k,i,j,
i_lw) + temp_t(k,i,j,
i_sw)
126 ) / ( fz(k,i,j) - fz(k-1,i,j) )
130 ) / ( fz(k,i,j) - fz(k-1,i,j) )
132 rhoh(k,i,j) = rhoh_lw + rhoh_sw