58 POTT, TEMP, PRES, EXNER )
60 thermodyn_rhot2temp_pres => atmos_thermodyn_rhot2temp_pres
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) :: DENS (ka,ia,ja)
66 real(RP),
intent(in) :: RHOT (ka,ia,ja)
67 real(RP),
intent(in) :: Rtot (ka,ia,ja)
68 real(RP),
intent(in) :: CVtot(ka,ia,ja)
69 real(RP),
intent(in) :: CPtot(ka,ia,ja)
71 real(RP),
intent(out) :: POTT (ka,ia,ja)
72 real(RP),
intent(out) :: TEMP (ka,ia,ja)
73 real(RP),
intent(out) :: PRES (ka,ia,ja)
74 real(RP),
intent(out) :: EXNER(ka,ia,ja)
79 call thermodyn_rhot2temp_pres( ka, ks, ke, ia, is, ie, ja, js, je, &
80 dens(:,:,:), rhot(:,:,:), &
81 rtot(:,:,:), cvtot(:,:,:), cptot(:,:,:), &
82 temp(:,:,:), pres(:,:,:) )
93 pott(k,i,j) = rhot(k,i,j) / dens(k,i,j)
94 exner(k,i,j) = temp(k,i,j) / pott(k,i,j)
107 KA, KS, KE, IA, IS, IE, JA, JS, JE, &
108 DENS, RHOE, Rtot, CPtot, CVtot, & ! (in)
109 temp, pott, pres, exner )
113 integer,
intent(in) :: KA, KS, KE
114 integer,
intent(in) :: IA, IS, IE
115 integer,
intent(in) :: JA, JS, JE
117 real(RP),
intent(in) :: DENS (ka,ia,ja)
118 real(RP),
intent(in) :: RHOE (ka,ia,ja)
119 real(RP),
intent(in) :: Rtot (ka,ia,ja)
120 real(RP),
intent(in) :: CPtot(ka,ia,ja)
121 real(RP),
intent(in) :: CVtot(ka,ia,ja)
123 real(RP),
intent(out) :: POTT (ka,ia,ja)
124 real(RP),
intent(out) :: TEMP (ka,ia,ja)
125 real(RP),
intent(out) :: PRES (ka,ia,ja)
126 real(RP),
intent(out) :: EXNER(ka,ia,ja)
134 temp(k,i,j) = rhoe(k,i,j) / ( cvtot(k,i,j) * dens(k,i,j) )
135 pres(k,i,j) = dens(k,i,j) * rtot(k,i,j) * temp(k,i,j)
136 exner(k,i,j) = ( pres(k,i,j) / pre00 )**( rtot(k,i,j) / cptot(k,i,j) )
137 pott(k,i,j) = temp(k,i,j) / exner(k,i,j)
161 integer,
intent(in) :: KA, KS, KE
162 integer,
intent(in) :: IA, IS, IE
163 integer,
intent(in) :: JA, JS, JE
164 real(RP),
intent(in) :: DENS ( ka,ia,ja)
165 real(RP),
intent(in) :: PRES ( ka,ia,ja)
166 real(RP),
intent(in) :: CZ ( ka,ia,ja)
167 real(RP),
intent(in) :: FZ (0:ka,ia,ja)
168 real(RP),
intent(out) :: PHYD ( ka,ia,ja)
169 real(RP),
intent(out) :: PHYDH(0:ka,ia,ja)
180 phydh(ke,i,j) = pres(ke,i,j) - dens(ke,i,j) * grav * ( fz(ke,i,j) - cz(ke,i,j) )
182 phydh(k-1,i,j) = phydh(k,i,j) + dens(k,i,j) * grav * ( fz(k,i,j) - fz(k-1,i,j) )
184 phyd(k ,i,j) = sqrt(phydh(k,i,j)) * sqrt(phydh(k-1,i,j))
206 integer,
intent(in) :: KA, KS, KE
207 integer,
intent(in) :: IA, IS, IE
208 integer,
intent(in) :: JA, JS, JE
210 real(RP),
intent(in) :: POTT(ka,ia,ja)
211 real(RP),
intent(in) :: Rtot(ka,ia,ja)
213 real(RP),
intent(in) :: CZ(ka,ia,ja)
215 real(RP),
intent(out) :: N2 (ka,ia,ja)
230 rpt(k) = rtot(k,i,j) * pott(k,i,j)
233 n2(ks,i,j) = grav * ( rpt(ks+1) - rpt(ks) ) / ( ( cz(ks+1,i,j) - cz(ks,i,j) ) * rpt(ks) )
235 n2(k,i,j) = grav * ( rpt(k+1) - rpt(k-1) ) / ( ( cz(k+1,i,j) - cz(k-1,i,j) ) * rpt(k ) )
237 n2(ke,i,j) = grav * ( rpt(ke) - rpt(ke-1) ) / ( ( cz(ke,i,j) - cz(ke-1,i,j) ) * rpt(ke) )
257 integer,
intent(in) :: KA, KS, KE
258 integer,
intent(in) :: IA, IS, IE
259 integer,
intent(in) :: JA, JS, JE
261 real(RP),
intent(in) :: POTT(ka,ia,ja)
262 real(RP),
intent(in) :: Rtot(ka,ia,ja)
264 real(RP),
intent(out) :: POTV(ka,ia,ja)
277 potv(k,i,j) = pott(k,i,j) * rtot(k,i,j) / rdry
298 integer,
intent(in) :: KA, KS, KE
299 integer,
intent(in) :: IA, IS, IE
300 integer,
intent(in) :: JA, JS, JE
302 real(RP),
intent(in) :: TEMP (ka,ia,ja)
303 real(RP),
intent(in) :: LHV (ka,ia,ja)
304 real(RP),
intent(in) :: LHS (ka,ia,ja)
305 real(RP),
intent(in) :: QC (ka,ia,ja)
306 real(RP),
intent(in) :: QI (ka,ia,ja)
307 real(RP),
intent(in) :: CPtot(ka,ia,ja)
309 real(RP),
intent(out) :: TEML(ka,ia,ja)
322 teml(k,i,j) = temp(k,i,j) &
323 - ( lhv(k,i,j) * qc(k,i,j) + lhs(k,i,j) * qi(k,i,j) ) / cptot(k,i,j)
subroutine, public atmos_diagnostic_get_n2(KA, KS, KE, IA, IS, IE, JA, JS, JE, POTT, Rtot, CZ, N2)
ATMOS_DIAGNOSTIC_get_n2 N^2.
subroutine, public atmos_diagnostic_get_potv(KA, KS, KE, IA, IS, IE, JA, JS, JE, POTT, Rtot, POTV)
ATMOS_DIAGNOSTIC_get_potv virtual potential temperature.
subroutine, public atmos_diagnostic_get_phyd(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS, PRES, CZ, FZ, PHYD, PHYDH)
ATMOS_DIAGNOSTIC_get_phyd hydrostatic pressure.
real(rp), public const_rdry
specific gas constant (dry air) [J/kg/K]
real(rp), public const_pre00
pressure reference [Pa]
subroutine, public atmos_diagnostic_get_therm_rhot(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS, RHOT, Rtot, CVtot, CPtot, POTT, TEMP, PRES, EXNER)
ATMOS_DIAGNOSTIC_get_therm_rhot potential temperature, temperature, pressure.
module atmosphere / diagnostic
real(rp), public const_grav
standard acceleration of gravity [m/s2]
module atmosphere / thermodyn
subroutine, public atmos_diagnostic_get_teml(KA, KS, KE, IA, IS, IE, JA, JS, JE, TEMP, LHV, LHS, QC, QI, CPtot, TEML)
ATMOS_DIAGNOSTIC_get_teml liqued water temperature.
subroutine, public atmos_diagnostic_get_therm_rhoe(KA, KS, KE, IA, IS, IE, JA, JS, JE, DENS, RHOE, Rtot, CPtot, CVtot, TEMP, POTT, PRES, EXNER)
ATMOS_DIAGNOSTIC_get_therm_rhoe potential temperature, temperature, pressure.